我的應用在應用進入後臺模式時正在下載JSON對象。該應用程序將它們轉換爲核心數據實體。我運行的問題是我需要將這些核心數據實體的託管對象上下文與主要託管對象上下文進行合併。iPhone iOS在背景中運行應用程序生成並處理通知?
合併這些變化的方式是通過通知:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(contextHasChanged:) name:NSManagedObjectContextDidSaveNotification object:nil];
- (void)contextHasChanged:(NSNotification*)notification
{
NSLog(@"received notification with object: %@",[[notification object] description]);
if ([notification object] == [AppUser managedObjectContext]) return;
if (![NSThread isMainThread]) {
[self performSelectorOnMainThread:@selector(contextHasChanged:) withObject:notification waitUntilDone:YES];
return;
}
[[AppUser managedObjectContext] mergeChangesFromContextDidSaveNotification:notification];
}
出於某種原因,在後臺運行,而我的代碼不會收到這些通知。 應用程序在後臺模式下運行時是否繼續生成通知?或者是我註冊這種錯誤通知的位置?
謝謝您的澄清!
感謝節,我已經證實了我的代碼可以繼續處理通知基於代碼,同時在後臺模式! (我發現一個班可以爲我做這個)。 –
歡迎你,親愛的 – Saad