2016-05-03 1 views
0

私はネットワーク上のデバイスを発見し、魔法の記録を通してコアデータに挿入するアプリケーションのネットワークパークを持っています。しかし、これはメインスレッドではなく他のスレッドで発生します。また、テーブルビューでデバイスを表示するfetchresultcontrollerを持つUITableViewがあります。しかし、fetchRequestControllerに自分の変更点を通知する方法は、これを呼び出すだけでした。すべてのアクションの文脈を保存する

[[NSManagedObjectContext MR_contextForCurrentThread] MR_saveToPersistentStoreAndWait]; 

変更があるたびに、行方不明私は何か、またはこれを作る正しい方法ですか?

例:MagicalRecordによって推奨されているすべての全体のデータ操作、上

[MagicalRecord saveWithBlockAndWait:^(NSManagedObjectContext *localContext){ 
    MyCDDevice * localDevice = [MyCDDevice MR_createEntityInContext:localContext]; 
    [localDevice initFromDictionary:dictionary]; 
}]; 

[[NSManagedObjectContext MR_contextForCurrentThread] MR_saveToPersistentStoreAndWait]; 
+0

アプリケーションが実行されている限り、コンテキストを保存する必要はありません。 App(可能性があります)がクラッシュしない限り(この場合、重要なエントリの後にコンテキストを保存することができます)。コンテキストが保存されるのは、アプリケーションがバックグラウンドになったときと、アプリケーションが終了しようとしているときです。ディスクへの過度の書き込みは推奨されません。 – bauerMusic

+0

あなたのコンテキストは主なコンテキストの子ですか? – Wain

+0

@bauerMusicありがとう、私は同じと思うが、私は100%確実になりたい。 –

答えて

0

保存。 saveWithBlockAndWait:以降は、永続ストアに保存されるため、MR_saveToPersistentStoreAndWaitは不要です。

関連する問題