比方说,我有一个变量集我LevelOne.Swift:得到变量从另一个类SpriteKit
var isLevelCompleted = false
我也有我的LevelOne.Swift的功能。当它被称为它将值更改为真:
func levelOneComplete(){
isLevelCompleted = true
}
我想从不同的Swift类访问此变量。我怎么能这样做呢?我尝试了几种不同的方法,但我似乎无法让它识别变量。
比方说,我有一个变量集我LevelOne.Swift:得到变量从另一个类SpriteKit
var isLevelCompleted = false
我也有我的LevelOne.Swift的功能。当它被称为它将值更改为真:
func levelOneComplete(){
isLevelCompleted = true
}
我想从不同的Swift类访问此变量。我怎么能这样做呢?我尝试了几种不同的方法,但我似乎无法让它识别变量。
最简单的方法是将变量设置为全局变量,所以它不在任何类中。这可能并不总是最安全的方式,但它大部分时间都有效,而且非常容易。在下面的示例中,我有两个类,它们可以是set
和get
isLevelCompleted
变量。 (这些类显然不一定是UIViewController)。
var isLevelCompleted: Bool!
class LevelOne : UIViewController {
override func viewDidLoad() {
super.viewDidLoad() //Just an example
isLevelCompleted = true
}
}
class LevelTwo : UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
print(isLevelCompleted) // prints "true"
}
}
如果两个类在两个不同的swift文件中会怎样。那可能吗? –
是的,根本没关系。 (这只是表示,对电脑来说没有什么区别) – Eric
如何让LevelOne类成为单例? – Raymond
你有没有尝试过让它通用?我的意思是把它放在skscene之外。例如Import SpriteKit Var isLevelCompleted – sicvayne
如果这两个类位于两个不同的swift文件中,该怎么办?那可能吗? –