使计时器无效
[timer invalidate];
timer = nil;
这将停止计时器开火。**必须从创建计时器的线程中调用,**请参阅 Apple 的注释 :
你必须从安装了计时器的线程发送此消息。如果从另一个线程发送此消息,则可能无法从其运行循环中删除与计时器关联的输入源,这可能会阻止线程正常退出。
设置 nil
将帮助你检查它是否正在运行。
if(timer) {
[timer invalidate];
timer = nil;
}
//Now set a timer again.