ご存知のように、iOS では、NSManagedObjectContext にはデフォルトの NSUndoManager インスタンスが付属していません。Core Data で元に戻す/やり直しをサポートしたい場合は、独自のものをインスタンス化する必要があります。
これが私のappDelegateに書いたものです:
(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// Override point for customization after application launch.
[MagicalRecord setupAutoMigratingCoreDataStack];
NSUndoManager *undo = [[NSUndoManager alloc] init];
[[NSManagedObjectContext MR_context] setUndoManager:undo];
return YES;
}
しかし後で、私が観察したとき:
NSLog(@"%p", [NSManagedObjectContext MR_context].undoManager);
結果は常に何もありません。これは、undoManager がインスタンス化されていないことを意味します。MagicalRecord を使用しているときに、元に戻す/やり直しのサポートを追加する正しい方法を誰でもアドバイスできますか?