Ich habe ein NSRunLoop
in meiner app mit einem Timer:Was passiert mit meinem NSRunLoop und Timer, wenn die App in den Hintergrund tritt und zurückkehrt?
NSTimer *updateTimer = [NSTimer scheduledTimerWithTimeInterval:300 target:self selector:@selector(onUpdateTimer) userInfo:nil repeats:YES];
[[NSRunLoop mainRunLoop] addTimer:updateTimer forMode:NSRunLoopCommonModes];
Wenn die App in den Hintergrund geht, was passiert dann mit diesem Runloop? Verschwindet es, was bedeutet, dass ich es in applicationDidBecomeActive:
neu erstellen sollte?
Okay, ich brauche also nicht manuell den Runloop zu stoppen. Muss ich einen auf applicationDidBecomeActive erstellen: mit dem gleichen Code? – DGund
Nein. Versuchen Sie es - Ihre Laufschleife (n) sollte in Ordnung sein. – Caleb
Denken Sie daran, dass Anrufe zu suspendiert werden und Aufrufe an applicationDidBecomeActive nicht unbedingt für eins zu eins ausgeglichen werden, also stellen Sie keine Dinge in applicationDidBecomeActive ohne irgendeine Intelligenz bereit. – Gruntcakes