使用 NSTimer Swift 无法解析的标识符自身的问题
Trouble with unresolved identifier self with NSTimer Swift
我有下面的代码,但我发现了一条错误消息。请注意,有问题的代码不在 viewcontroller class 中的 Swift 中。图片移动代码在viewdidappear函数中。
var timer = NSTimer(timeInterval:3, target: self, selector:Selector("randomnumbers:"), userInfo: nil, repeats: true)
func randomnumbers(timer:NSTimer) {
var rockNamesArray:[String] = ["bird", "rock2", "rock3"]
var rockpos = Int(arc4random_uniform(UInt32(3)))
}
编辑:
if rockNamesArray[rockpos] == "rock2" {
UIView.animateWithDuration(3.0, animations: {
self.mrock.frame = CGRect(origin: CGPoint(x: 167, y: 600), size: self.mrock.frame.size)
},
completion: { _ in
self.mrock.frame = moriginalFrame
})
}
首先你必须在视图控制器中声明你的定时器class:
var timer = NSTimer()
var rockNamesArray:[String] = []
var rockpos = 0
然后在 viewDidLoad 中安排计时器:
override func viewDidLoad() {
super.viewDidLoad()
timer = NSTimer.scheduledTimerWithTimeInterval(3, target: self, selector: "randomnumbers", userInfo: nil, repeats: true)
}
//
func randomnumbers() {
rockNamesArray = ["bird", "rock2", "rock3"]
rockpos = Int(arc4random_uniform(UInt32(rockNamesArray.count)))
}
我有下面的代码,但我发现了一条错误消息。请注意,有问题的代码不在 viewcontroller class 中的 Swift 中。图片移动代码在viewdidappear函数中。
var timer = NSTimer(timeInterval:3, target: self, selector:Selector("randomnumbers:"), userInfo: nil, repeats: true)
func randomnumbers(timer:NSTimer) {
var rockNamesArray:[String] = ["bird", "rock2", "rock3"]
var rockpos = Int(arc4random_uniform(UInt32(3)))
}
编辑:
if rockNamesArray[rockpos] == "rock2" {
UIView.animateWithDuration(3.0, animations: {
self.mrock.frame = CGRect(origin: CGPoint(x: 167, y: 600), size: self.mrock.frame.size)
},
completion: { _ in
self.mrock.frame = moriginalFrame
})
}
首先你必须在视图控制器中声明你的定时器class:
var timer = NSTimer()
var rockNamesArray:[String] = []
var rockpos = 0
然后在 viewDidLoad 中安排计时器:
override func viewDidLoad() {
super.viewDidLoad()
timer = NSTimer.scheduledTimerWithTimeInterval(3, target: self, selector: "randomnumbers", userInfo: nil, repeats: true)
}
//
func randomnumbers() {
rockNamesArray = ["bird", "rock2", "rock3"]
rockpos = Int(arc4random_uniform(UInt32(rockNamesArray.count)))
}