我的应用中有NSRunLoop
连接到计时器:
NSTimer *updateTimer = [NSTimer scheduledTimerWithTimeInterval:300 target:self selector:@selector(onUpdateTimer) userInfo:nil repeats:YES];
[[NSRunLoop mainRunLoop] addTimer:updateTimer forMode:NSRunLoopCommonModes];
当应用程序进入后台时,此runloop会发生什么?它是否会消失,这意味着我应该在applicationDidBecomeActive:
中重新创建它?
答案 0 :(得分:8)
您的应用暂停时应停止计时器,并在-applicationDidBecomeActive:
重启。请参阅Responding to Interruptions中的“发生中断时应采取的措施”。但是,您不必担心运行循环 - 操作系统将负责该部分。