2017-11-14 13 views
0

この質問は何度も尋ねられ、返答されていると感じましたが、数時間の検索の結果、回答が見つからないことに驚きました。 iOS 10の登場で、NSPersistentContainerはCore Data Stackの処理方法を変更しました。コアデータスタックを設定する方法を理解しています。しかし、基本的なストアが(私の場合はsqliteで)置き換えられると、Core Dataスタックを解体して再構築するのは別のプロセスです。私はこれが愚かな質問であり、誰かが私が何とかこのトピックについて忘れてしまった75の質問に私を指し示すことができることを願っています。そうでなければ、私は提供された助けに感謝します。NSPersistentContainerを使用してCore Data Stackを破棄して再構築する

+0

一般的に、persistentContainterのストアを切り替えることはできません。ストア内のすべてのデータを削除したい場合は、それを行うだけです。異なる2つの物を表す2つの異なる店がある場合は、2つのpersistentContainerが必要です。あなたは何を達成しようとしていますか? –

+0

私は自分のアプリでバックアップ/復元を実装しています。ユーザーはバックアップから保存されたデータを使用してデータを復元できます。私はStack Overflowで見つけた手順に従って、コアデータスタックを破棄して再構築することで、これを2年前(iOS 10以前)に慎重に行ってきました。私は新しいメソッドがこれを行う方法を提供しているように感じます - 私はそれが何であるか把握できません。 – SAHM

答えて

2

あなたが以前に行っていたことは、同じように動作するはずです。 NSPersistentContainerは魔法ではありません。これは、モデルとメインスレッドのコンテキストでストアを設定する際の便利な機能です。これは、背景コンテキストを作成するためのメソッドを持っています。コアデータに関してあなたが知っているすべてを置き換えるものではありません。それは内部のすべて同じものです。 persistentContainerの中には、モデルへのポインタとストアへのポインタを持つpersistentStoreCoordinatorへのポインタがあります。

私はあなたのコードがストアを置き換えるためのものなのか分からないので、それをpersistentContainerに翻訳する手助けはできません。あなたができないことがわかったら、私が前に言ったように、NSPersistentContainerに固執する理由はありません。それは魔法ではなく、それほどあなたのためではありません。

関連する問題