私はシンプルcronometerアプリを作る、しかし、今、私はそれを改善する必要、と私はcronometer制御のためのクラスを記述したいと思います:Swiftでカスタムクラスの中でタイマーを初期化する方法は?
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)
てみてください...しかし、それはタイマーにセレクタとしてクラスメソッドを割り当てるための最良の方法ですいただきました!まだ、そう
を動作していませんイニシャライザ?
ありがとうございます!
で働いている私は、クールな説明のために、この答えを選択します。ありがとう – gersonmontenegro