我想在我的自定义类中获取一个计时器,但它只在init方法中工作。所以理想情况下我想实现:
class MyClass:NSObject{
private var timer:Timer = Timer()
//WORKING
override init() {
super.init()
self.timer = Timer.scheduledTimer(withTimeInterval: 1, repeats: true, block: { (_) in
print("\(self.logClassName): IN CLOSURE 1 \(self.recList.count)")
})
}
//NOT WORKING
func startTimer(){
self.timer = Timer.scheduledTimer(withTimeInterval: 1, repeats: true, block: { (_) in
print("\(self.logClassName): IN CLOSURE 2 \(self.recList.count)")
})
}
}
代码显示我初始化Timer两次,但这只是为了解释。我想只使用函数startTimer()
答案 0 :(得分:0)
将计时器声明为可选
private var timer : Timer?
在func startTimer()
之前有一个右大括号。