アプリがバックグラウンドモードに入ると、私のアプリは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