【发布时间】:2015-08-08 17:03:26
【问题描述】:
我有一个 RNG,希望它每三秒触发一次。到目前为止我有
var timer = NSTimer(timeInterval: 3, target: self , selector: randomnumbers, userInfo: nil, repeats: true)
func randomnumbers() {
var rockNamesArray:[String] = ["bird", "rock2", "rock3"]
var rockpos = Int(arc4random_uniform(UInt32(3)))
}
但是我有一堆错误消息,我不知道如何组织它。
编辑
此代码中的错误消息告诉我它有一个未解析的标识符“self”,而所有其他错误只是因为我更改了此代码而发生的错误,例如未解析的标识符 rockNamesArray 和 rockpos,它们在三个中发生了 4 次不同的代码行。
EDIT2
如评论中所述,上述代码放置在一个解释self 不起作用的类之外。但是在这种情况下如何处理定时器程序呢?
【问题讨论】:
-
那么哪些错误信息?
-
一般来说,我们不太关心将您的代码复制/粘贴到样板模板中以查看您遇到的错误。请在问题中将它们提供给我们。 (请注意,我在问题中说;不要将它们发布在 cmets 中)
-
在两阶段初始化的第一阶段为您的存储属性
timer分配初始值时,您不能参考self。请查看The Swift Programming Language的Initialization章节更多细节。