我是 Swift 和游戏制作新手(对于一般编码也相当陌生),我目前想在两个 Gamescene 之间传递一个变量。经过一些研究后,我得出的结论是,我需要一个带有 [int]()
的 struct
来保存由于某种原因而我无法保存的数字将值分配到我的整数数组generateSequenceArray
我的结构:
struct generatedSequenceForGameScene {
static var generatedSequenceArray = [Int]()
}
在我的一个 GameScene
类中,我已经初始化了 generateSequenceForGameScene
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
方法
最佳答案
这里有几件事需要注意。
首先,结构中的 static
关键字使 generatedSequenceArray
成为静态属性。这意味着无论你在哪里调用它,它都是一样的。这不是你想要的。
其次,除非您计划向结构添加更多属性,否则它没有理由存在。为什么要把它包装在一个结构体中?为什么不直接传递整数数组(您选择的数字)?
第三,类型名称应该正确大小写。所以 generatedSequenceForGameScene
应该是 GeneratedSequenceForGameScene
)。
关于ios - Swift 2 结构与数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34775707/