Tôi đã một NSRunLoop
trong ứng dụng của tôi kết nối với một bộ đếm thời gian:Điều gì sẽ xảy ra với NSRunLoop và bộ hẹn giờ của tôi khi ứng dụng chuyển sang nền và trả về?
NSTimer *updateTimer = [NSTimer scheduledTimerWithTimeInterval:300 target:self selector:@selector(onUpdateTimer) userInfo:nil repeats:YES];
[[NSRunLoop mainRunLoop] addTimer:updateTimer forMode:NSRunLoopCommonModes];
Khi ứng dụng đi vào nền, những gì xảy ra với runloop này? Nó biến mất, có nghĩa là tôi nên tạo lại nó trong applicationDidBecomeActive:
?
Được rồi, vì vậy tôi không cần phải dừng vòng chạy theo cách thủ công. Tôi có cần phải tạo một ứng dụng trên applicationDidBecomeActive: sử dụng cùng một mã không? – DGund
No. Hãy thử nó - vòng lặp chạy của bạn (s) nên được tốt. – Caleb
Ghi nhớ rằng các cuộc gọi đến bị đình chỉ và các cuộc gọi đến applicationDidBecomeActive không nhất thiết phải cân bằng một cho một, do đó, không xếp hàng những thứ willy nilly trong applicationDidBecomeActive mà không có một số thông minh. – Gruntcakes