0

以下の方法の違いを説明してください。

- (void)save:  
- (void)saveOnlySelfAndWait;    
- (void)saveToPersistentStoreAndWait;

注:この質問の回答を投稿した人もいますが、その回答に満足していないので、適切で簡単な回答を共有してください。

4

1 に答える 1

0

よく考えて検索した結果、答えが得られました...

これらの方法が十分に文書化されていないことを認めます。ただし、コア データのネストされたコンテキスト モデルにはかなりよく従います。

save:MagicalRecord では、 で使用しないでくださいNSManagedObjectContext。MagicalRecord には、これらすべての追加のエラー処理、ロギング、および完了ハンドラーが組み込まれています。それらを使用したいと考えています。

データがどこに行く必要があるかを知っているようです (あるコンテキストからルートまで)。どの保存方法を使用する必要があるかは、階層によって異なります。1 レベルのみの深さ (つまり、defaultContext の子コンテキスト) の場合saveOnlySelfAndWaitは、defaultContext. それ以外の場合はsaveToPersistentStoreAndWait、データ ストアまでずっと階層をトラバースします。

メソッドはandWait呼び出しをブロックしています。ハンドラーの完了を伴う呼び出しはそうではありません。これらの使い方はかなり簡単です。

于 2015-06-12T11:52:02.367 に答える