比方說,我有一個變量集我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文件中,該怎麼辦?那可能嗎? –