以下の方法の違いを説明してください。
- (void)save:
- (void)saveOnlySelfAndWait;
- (void)saveToPersistentStoreAndWait;
注:この質問の回答を投稿した人もいますが、その回答に満足していないので、適切で簡単な回答を共有してください。
以下の方法の違いを説明してください。
- (void)save:
- (void)saveOnlySelfAndWait;
- (void)saveToPersistentStoreAndWait;
注:この質問の回答を投稿した人もいますが、その回答に満足していないので、適切で簡単な回答を共有してください。
よく考えて検索した結果、答えが得られました...
これらの方法が十分に文書化されていないことを認めます。ただし、コア データのネストされたコンテキスト モデルにはかなりよく従います。
save:
MagicalRecord では、 で使用しないでくださいNSManagedObjectContext
。MagicalRecord には、これらすべての追加のエラー処理、ロギング、および完了ハンドラーが組み込まれています。それらを使用したいと考えています。
データがどこに行く必要があるかを知っているようです (あるコンテキストからルートまで)。どの保存方法を使用する必要があるかは、階層によって異なります。1 レベルのみの深さ (つまり、defaultContext の子コンテキスト) の場合saveOnlySelfAndWait
は、defaultContext
. それ以外の場合はsaveToPersistentStoreAndWait
、データ ストアまでずっと階層をトラバースします。
メソッドはandWait
呼び出しをブロックしています。ハンドラーの完了を伴う呼び出しはそうではありません。これらの使い方はかなり簡単です。