Core Data オブジェクトのコレクションを (おそらく JSON に) シリアル化することを検討しており、件名について読んでいます。iOS ユーザーがデータを簡単にエクスポートおよび再インポートできるようにする手段として、JSON データをシリアライズ/デシリアライズする可能性があります。これは、同じデバイスでのバックアップと復元、またはまったく新しいデバイスへのデータのインポートの場合です。
この時点での私の主な質問は、インポート中に既存のデータの識別をどのように処理するかです。ストアに既に存在するオブジェクトを再インポートする場合、理想的にはそれらを更新したいと思います。同様に、インポートに含まれていない既存のデータはそのままにしておきたいと思います。この状況でのベストプラクティスは何ですか? オブジェクトが等しいかどうかを判断するときに、作成時に各 NSManagedObject に一意の ID を割り当て、この ID を比較する必要がありますか?
各 NSManagedObject には objectID が割り当てられていることは承知していますが、エクスポートされたデータが完全に別のデバイスにインポートされる可能性があることを考えると、これに頼ることができるかどうかは完全にはわかりません (objectID が衝突する可能性が高いか、より可能性が高いのは、 object には、作成時に新しい objectID が割り当てられます)。