在我的應用我有很長appWillEnterForeground:appDidEnterBackground之前被稱爲:完成
- (void)appDidEnterBackground:(NSNotification*)notif
方法,
它需要1-2秒來執行。這導致了以下問題:如果我關閉應用程序,然後再次打開速度非常快,比
- (void)appWillEnterForeground:(NSNotification*)notif
-appDidEnterBackground
完成之前被調用,從而導致崩潰 - 數據並不一致,或者是這樣的。我不想調查我的數據中究竟出了什麼問題,我想阻止這種情況的發生 - 我想等到appDidEnterBackground完成。
我的代碼:
- (void)appDidEnterBackground:(NSNotification*)notif
{
[self processAppDidEnterBackgroundRoutines];
NSLog(@"%s - end", __FUNCTION__);
}
- (void)processAppDidEnterBackgroundRoutines
{
// 1-2 seconds prosessing
}
- (void)appWillEnterForeground:(NSNotification*)notif
{
NSLog(@"%s - begin", __FUNCTION__);
}
席力圖召
[self performSelectorOnMainThread:@selector(processAppDidEnterBackgroundRoutines) withObject:nil waitUntilDone:YES];
,但它並不能幫助出於某種原因 - appWillEnterForeground:
processAppDidEnterBackgroundRoutines
完成之前仍然被調用。
有沒有人有別人的想法如何同步此調用?
哦,沒錯,使用performSelectorOnMainThread:沒有意義。但只需調用-processAppDidEnterBackgroundRoutines - 這是我的問題發生的原始情況。 performSelectorOnMainThread:只是一個嘗試解決它。編輯我的問題。 – Anastasia