iOSアプリケーションでは、JSONオブジェクトを解析してNSManagedObjectContext
に挿入するフレームワークを使用してNSManagedObject
サブクラスオブジェクトを作成しています。ただし、新しく作成したオブジェクトと、永続ストアに既に保存されているオブジェクトを区別したいと思います。これは、ストア内のいくつかのオブジェクトを更新または上書きする必要があるためです。 NSFetchRequest
を実行すると、登録されたオブジェクト(ストアからフェッチされたオブジェクトとローカルで作成したオブジェクトの両方)がすべてメモリ内に返されます。どのようにして2つのタイプのオブジェクトを区別することができますか?メモリ内マネージドオブジェクトコンテキストと永続ストアからフェッチされたオブジェクトを区別する
0
A
答えて
1
オブジェクトIDを確認することで、管理対象オブジェクトが保存されているかどうかを確認できます。最初にオブジェクトを保存してからfalse
をオンにするまで、myObject.objectID.isTemporaryID
を確認してください(true
)。
@ Paulw11がコメントに書いているように、この場合は、ローカルオブジェクトを既に持っているかどうかを調べるのが一般的です。新しいものを作成するよりです。それは重複の問題を回避します。既存のオブジェクトの値を更新するか、または削除して置き換えることができます。
関連する問題
- 1. C#のウェブAPI - ストアとメモリ内キャッシュ内のデータを永続化
- 2. HibernateのJackson Jsonからフェッチされた永続エンティティ
- 3. クラウド内の永続化されたjsonオブジェクトからプロパティを削除します。
- 4. iPhone - バンドルからの永続ストア
- 5. 永続ストアからNSManagedObjectが削除される時期を知りますか?
- 6. ブラックベリーの永続ストア
- 7. 春JPA永続ネストされたオブジェクト
- 8. CoreData永続ストアはいつ作成されますか?
- 9. パスワードで保護されたコアデータ永続ストア
- 10. BlackBerryで永続ストアを使用する
- 11. ActiveMQ KahaDB永続ストア完全
- 12. iOS永続ストアの問題
- 13. Javaの永続ストアJavaランタイムストア
- 14. rdflib - 永続ストアのクエリ
- 15. iOS UIManagedDocument:プリロードされた永続ストアを開くことができません
- 16. Pythonでの永続メモリ内記憶
- 17. CoreDataで作成されたSQL永続ストアはどこにありますか?
- 18. シンプルな永続ストアfor Javaを探す
- 19. ブラックベリーの永続ストアに格納されているオブジェクトのサイズ(バイトまたはkb、mb)を調べる方法
- 20. デリゲート内のNSURLConnectionオブジェクトを区別する
- 21. コアデータ:複数のコンテキストを持つ独立した永続ストアと単一のコンテキストを持つ別々の永続ストア
- 22. 永続ストアで2つの永続ストアコーディネータを作成する方法
- 23. 永続化される前のSQLAlchemyセッションからオブジェクトを削除する
- 24. コアデータを持つ複数の永続ストア
- 25. 永遠に似たC++オブジェクト永続ライブラリ
- 26. ストア別地図内のMapオブジェクト
- 27. 異なるスプリングコンフィグレーションファイルからロードされたBeanを区別する
- 28. アプリがブラックベリーで削除されたときに永続オブジェクトを削除する
- 29. JavaアプリケーションmmapedメモリとLinux上のJVM mmappedメモリを区別する
- 30. 認証されたAPIオブジェクトを別のCeleryタスクに永続化する方法はありますか。
一致するオブジェクトが存在するかどうかを確認するまで、新しいオブジェクトを挿入するのはなぜですか?あるいは、複数の管理オブジェクトコンテキストを使用することもできますが、それはあまりにも複雑な解決策のようです。 – Paulw11
残念ながら、フレームワークはJSONを解析し、新しく作成した管理対象オブジェクトをコンテキストに渡す必要があります。オブジェクトの作成と永続的なストアからの読み込みの2つのコンテキストを持つことでこれを回避できると思いますが、それは複雑すぎるようです。 –