我正在尝试创建一个简单的秒表应用,其中timer
标签在按下startButton
按钮时递增。这就是我所拥有的:
@IBOutlet weak var timer: UILabel!
@IBAction func startButton(sender: AnyObject) {
timer = NSTimer.scheduledTimerWithTimeInterval(0.0025, target: self, selector: Selector("result"), userInfo: nil, repeats: true)
}
var count = 0
func result() {
count++
timer.text=String(count)
}
我在调用中收到错误“额外参数'选择器',但无法正确处理语法。
答案 0 :(得分:2)
Swift错误消息有时有点缺乏。应该说像“NSTimer不能转换为UILabel”。您要将自己创建的计时器分配给IBOutlet
timer
UILabel
。计时器是NSTimer
。只需在创建它时将其分配给另一个变量,一切都会好的。
@IBAction func startButton(sender: AnyObject) {
let myTimer = NSTimer.scheduledTimerWithTimeInterval(0.0025, target: self, selector: "result", userInfo: nil, repeats: true)
}
作为一种快捷方式,您只需将字符串用作选择器,因此Selector("result")
可以仅由"result"
替换。