我正在尝试将计时器应用到新的应用程序中。一个用例可能是在同一视图中一次运行多个计时器来更新UILabel或UIButton标题文本。
有没有人有这样做的经验?你会建议什么方法。
困难在于计时器在短时间内触发相同的选择器。
非常感谢提前
尼克
答案 0 :(得分:1)
在.h文件中声明对象:
NSTimer *myTimer1,myTimer2;
在.m文件中:
myTimer1 = [NSTimer scheduledTimerWithTimeInterval:3 target:self selector:@selector(nextPhoto) userInfo:nil repeats:YES];
myTimer2 = [NSTimer scheduledTimerWithTimeInterval:3 target:self selector:@selector(nextPhoto) userInfo:nil repeats:YES];
在上面的定时器失效之后:
[myTimer1 invalidate];
[myTimer2 invalidate];
试试这样。
答案 1 :(得分:1)
如果您确实动态创建重复计时器,则可能会遇到计时器失效问题。我建议您改用performSelector:withObject:afterDelay:
或performSelectorOnMainThread:withObject:waitUntilDone:
方法。