次の場合の対処方法についてアドバイスが必要です。コア データ内にオブジェクト グラフを保存しています。簡単にするために、User オブジェクト (名前、年齢、住所) があるとします。アドレスは、いくつかのプロパティを持つ別のオブジェクトです。これで、ユーザーは自分のアドレスを変更できます。彼がそれを変更した場合、次の注文のためにこれらの変更を覚えておく必要があります. その後、元のアドレスに戻す必要があります。ユーザーはいつでも元に戻すことができます。これらの一時的な変更をどこに保存すればよいですか? ChangedData のような新しいエンティティを追加することを考えましたが、これはどういうわけか正しくありません。基本的に、元のオブジェクトを覚えておく必要があり、ユーザーがそれを変更した場合は、それらもしばらく覚えておく必要があります。私の問題を十分に表現できれば幸いです。
1 に答える
1
管理対象オブジェクト コンテキストとペアになった NSUndoManager を使用する必要があります。に次のコードを追加するだけです
- (NSManagedObjectContext *) managedObjectContext
アプリのデリゲートの実装で:
NSUndoManager *undoManager = [[NSUndoManager alloc] init];
[managedObjectContext setUndoManager:undoManager];
次に、元に戻すマネージャーのメソッドを使用して、コンテキストの保存を元に戻したりやり直したりします。
于 2013-06-03T19:56:47.353 に答える