3
私はCore Dataを初めて熟知しています。私はそれを念頭に置いています。Core Dataを使用する人が、同じManaged Object Modelで複数の永続ストアを使用したいのはなぜですか?
私はCore Dataを初めて熟知しています。私はそれを念頭に置いています。Core Dataを使用する人が、同じManaged Object Modelで複数の永続ストアを使用したいのはなぜですか?
さまざまな種類のデータを別々の場所に保存したり、異なる動作を保存したい場合があります。たとえば、デフォルトのデータを含むアプリケーションの一部として出荷される読み取り専用のsqliteストアと、サーバーからダウンロードしたデータセットの更新用の追加のストアと、ユーザーデータ用の第3のストアがあります。また、オブジェクトの一部を永続化し、他のオブジェクトをメモリ内のストアに保存し、アプリケーションの使用のあいだに保存する必要がない場合もあります。
データの移行はPITAになる可能性があります。揮発性データスキーマがある場合は、セグメント化する価値があります。私はこれらのことについて本当に考えていませんでした。良い質問と良い答え+1 – Nektarios
最初の例で説明したユースケースのように聞こえるのは、サーバーがコアデータ準拠の永続ストアを送信していることを意味します。そうしないと(私が何かを誤解している場合を除き)、他のすべてのもの(読み込み専用データを除く)に使用する同じストアにデータを単純にインポートすることができます。 –
@ Joshua Pokotilow、実際にはアプリケーションにとって理にかなっていれば、読み取り専用のストアと、ユーザーとアプリケーションのデータ用の編集可能なストアを1つだけ持つことができます。どのように整理したいのか、別々の場所に格納したいのかによって異なります。たとえば、ユーザーデータをバックアップすることもできますが、必要に応じて再ダウンロードできるので、キャッシュディレクトリにアプリケーションデータの更新を保存することができます。同様に、ユーザーのデータを暗号化する必要があり、アプリの設定データが暗号化されていない可能性があります。 – Jonah