Core Data でデータを削除する方法が変わったんですね、Xcode 9

Core Data でデータを削除する時のやり方ですが、今までは for 文の中で deleteObject みたいな形で実装していたのですが、persistentContainer を使うようになってから、同じやり方をしてもダメだと、削除されないと、下位互換は無視すると。エラーにもならず、削除もされないので、ホント困ります。

色々調べたところ、いつの頃からか、NSbatchDeleteRequest という Class が新設されていて、executeRequest で指定することで削除することになったみたいです。

って、分かってしまえば簡単ですが NSBatchDeleteRequest の代わりに、NSFetchRequst を指定してしまいうまく動かない、withContext に self.managedeObject を指定していまいうまく動かないなど、幾多の困難を克服し、ようやく削除できるようになりました。

Core Data は鬼門というか、ほんとわかりにくいです。以前、Core Data に focus した書籍を買ったんですが、今となっては古い知識でアップデートしないとダメですね、ってか、下位互換というか、せめて、Xcode で、その表現古いからアップデートしなよとか suggestion して欲しいところなんですが・・・