【发布时间】:2016-08-08 06:55:16
【问题描述】:
我的应用中有 4 个 NSTimers 对象,它们每隔几秒就向一个休息 URL 发出请求。
单击特定的button 我想停止计时器以使其停止轮询,单击另一个button 我想恢复轮询。
我已经为所有计时器尝试了invalidate,但不起作用。
注意:所有计时器都在不同的类中,我正在尝试使另一个类中的计时器无效 任何帮助将不胜感激,谢谢。
class NotificationViewController:UIViewController {
var timer:NSTimer?
getEvents(){
if((timer == nil)) {
timer = NSTimer.scheduledTimerWithTimeInterval(20.0, target: self, selector: Selector("getEvents"), userInfo: nil, repeats: true)
}
}
}
在另一个类中,我通过单击按钮来执行此操作
class Menu:UIViewController {
@IBAction func buttonTapped(sender: UIButton) {
self.notify.timer?.invalidate()
self.notify.timer = nil
}
}
【问题讨论】:
-
把你试过的代码放上去。
-
编辑问题
-
self.notify对象与您用于初始化NSTimer的对象相同? -
没有 self.notify 是另一个类 NotificationViewController