ビューコントローラ内の管理対象オブジェクトへの参照を有効にしておくことは賢明ですか?Core Dataオブジェクトへの参照を回避するのは悪いですか?
私はCore Dataには比較的新しいので、最近別のコンテキストの管理オブジェクトを混在させることができないことを発見しました。コンテキストに属さないオブジェクトをリレーションシップに追加することはできません。
たとえば、古典的なEmployee
エンティティと、Employee
オブジェクトを強く参照しているEmployeeDetailsViewController
があるとします。
Employee
オブジェクトの代わりに従業員のIDを格納する必要がありますか?ドメインオブジェクトの代わりにIDを使って作業するのはむしろ不便なので、通常どのように行われているのか不思議でした。
これは複雑な問題で、多くの解決策があります。安全な答えはオブジェクトではなく 'objectID'を保持することだと思います。 – Avi
私はこの悪い習慣を考えていません。実際にはかなり一般的です(コアデータオブジェクトはメモリ不足の状況や使用されなくなったときにフォールトに変わると考えています)。しかし、あなたが採用するソリューションは、実際にはプロジェクトの要件に依存する必要があります。 –
これはあなたの興味を引くでしょう[オブジェクトライフサイクルの管理](https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/CoreData/MO_Lifecycle.html#//apple_ref/doc/uid/TP40001075-CH31- SW1) – Sudo