_managedObjectContext = [NSManagedObjectContext MR_defaultContext];
[_managedObjectContext MR_save];
で保存(永続化)されていたけど、2.0.4以降はMR_saveNestedContextsを呼ばないと保存されないっす。
_managedObjectContext = [NSManagedObjectContext MR_defaultContext];
[_managedObjectContext MR_saveNestedContexts];
2.0.3まではMR_saveの中で親コンテキストの保存が呼ばれていたんだけど、2.0.4以降だとMR_saveはあくまでも親コンテキストへの変更通知しかせずに、実際に保存(永続化)する場合にはMR_saveNestedContextsを呼ばなければいけない。保存(永続化)はディスクアクセスも発生するしコスト高いので、MR_saveで適時変更通知をしておいて、アプリ終了時とか実際保存したい時にMR_saveNestedContextsを呼べば良いかな。
今更ネタですが、2.0.3→2.0.8にバージョン上げて「保存されないぞ?」と悩んだので。。。
CoreDataの親&子コンテキストについてはhttp://www.slideshare.net/hedjirog/core-data-14134061#btnNextのスライドが分り易くて良い感じです。
ラベル:CoreData