Life is Really Short, Have Your Life!!

ござ先輩の主に技術的なメモ

CoreDataで消したはずのデータがアプリ再起動で復活する

という症状に遭遇してしまいました。

CoreDataで管理していたお買い物かごのオブジェクトを全消し。その後、ホームボタンをダブルクリックで実行中アプリの一覧からアプリを上にスワイプして削除。で、もう1度アプリを立ち上げると消したはずのデータが復帰してしまう、という。

結論から先に書きますと、AppDelegate#applicationWillResignActiveで、CoreDataのcontextを保存するメソッドを呼び出せばOKでした。

 func applicationWillResignActive(application: UIApplication) {
        CoreDataManager.sharedManager().saveContext()
    }

僕は下記のCoreDataのライブラリを利用しています。薄いラッパーですね。


supermarin/ObjectiveRecord · GitHub