私は 2 つの NSManagedObjectContext を持っています:
- コンテキストA
- コンテキストB
ContextA では、エンティティの NSManagedObjectID を取得できました。次に、このオブジェクト ID を使用して、ContextB の NSManagedObject を取得しました。これはうまくいきますが、これが安全かどうか知りたいです。または、これを行うためのより適切で安全な方法があれば教えてください。
ありがとうございました。
私は 2 つの NSManagedObjectContext を持っています:
ContextA では、エンティティの NSManagedObjectID を取得できました。次に、このオブジェクト ID を使用して、ContextB の NSManagedObject を取得しました。これはうまくいきますが、これが安全かどうか知りたいです。または、これを行うためのより適切で安全な方法があれば教えてください。
ありがとうございました。
これはisTemporaryID
、ContextA で NO が返された場合に安全です。そうしないと、一時オブジェクトが保存されるときに新しい ID が作成され、ContextB で見つからない可能性があります。
ContextA と ContextB が異なるスレッドで作成され、両方で同じオブジェクトにアクセスしたい場合、あなたがしていることは必須です。
安全。ドキュメントでは、コンテキスト全体で objectID を使用する必要があることを常に明確にしています。