我是Swift的新手,爲了製作遊戲(以及相當新的編碼),我目前想要在兩個Gamescene
之間傳遞一個變量。做一些研究,我得出的結論後,我需要一個[int]()
一個struct
持有我想這些數字出於某種原因而我不能賦值到我的整數數組generatedSequenceArray
我的結構:Swift 2結構與陣列
struct generatedSequenceForGameScene {
static var generatedSequenceArray = [Int]()
}
在我的我GameScene
類的我有我的初始化generatedSequenceForGameScene
struct
對象:
var generatedSequence = generatedSequenceForGameScene()
我呼籲的方法是:
func pickNumbers(){
for var x = 0; x < highLevel; ++x{
generatedSequence.generatedSequenceArray.append(Int(arc4random_uniform(10)))
print(generatedSequence.generatedSequenceArray)
}
}
之前試圖得到各GameScene
我的代碼變的舉動是這樣的:
變量: var generatedSequence = [Int]()
方法:
FUNC pickNumbers(){
for var x = 0; x < highLevel; ++x{
generatedSequence.append(Int(arc4random_uniform(10)))
print(generatedSequence)
}
}
這給了我我想要的結果。 注:pickNumber
方法被調用在一個名爲loadView()
方法,它被放置在didMoveToView
方法在程序
我之所以使用靜態變量是因爲我希望它無處不在。目的是讓我可以將這個整數數組傳遞到一個可以做其他事情的不同場景。此外,我發現這個例子[這裏](http://stackoverflow.com/questions/32290460/how-do-i-pass-data-between-two-scenes-in-swift) 此外我不知道任何其他將變量或數組傳遞給單獨的場景文件的方式。 (我根本沒有使用故事板) 謝謝你們關於正確外殼的錯誤,雖然我一定會修復它 – Avi
不,不,不,不。 :-D如果你想在控制器之間傳遞一些東西,確保你爲一個控制器創建並保留下一個*的引用,或者*創建一個可以從任何地方訪問的單例,這些單例可以生成並提供公共數據。你的是不正當的使用'靜態'。正如我之前所說,這是*不*你想要的。 –
謝謝,我以前聽說過單身人士這個詞(我知道它是一個只能做一次的類的實例),但我不知道如何使用它(在快速或其他任何地方),我該如何去做並使用它? (我沒有使用控制器,而是使用了'SKScene'的子類(在我意外地稱之爲'GameScene'之前(對不起)) – Avi