【发布时间】:2016-09-21 17:14:35
【问题描述】:
我做了一个简单的 cronometer 应用程序,但是,现在我想让它变得更好,我想为 cronometer 控件编写一个类:
class Cronometer{
private var counter:Int = 0
private var timer:Timer = Timer()
private var state:Bool = true
func initCronometer(){
if self.state{
self.timer = Timer.scheduledTimer(timeInterval: 1, target: self, selector: Selector("onTick"), userInfo: nil, repeats: true)
}else{
self.timer.invalidate()
}
self.state = !self.state
}
func onTick(){
self.counter += 1
print(self.counter)
}
}
但是选择器参数在使用自定义方法的类中不起作用。我不希望它在 ViewController 中,就像我之前所做的那样。
我试试
self.timer = Timer.scheduledTimer(timeInterval: 1, target: self, selector: Selector(("onTick")), userInfo: nil, repeats: true)
和
self.timer = Timer.scheduledTimer(timeInterval: 1, target: self, selector: #selector(self.onTick), userInfo: nil, repeats: true)
...但仍然无法正常工作
那么,在 Timer 初始化程序中将类方法分配为选择器的最佳方法是什么?
非常感谢!
【问题讨论】: