2011-01-21 6 views
1

NSManagedObjectIDドキュメントの状態:NSManagedObjectのobjectIDは、CFUUIDのようにスペースと時間で一意ですか?

アンNSManagedObjectIDオブジェクト管理対象オブジェクトのためのコンパクトな、普遍的な、識別子です。これは、コアデータフレームワークにおけるユニーク化の基礎を形成します。管理対象オブジェクトIDは、単一アプリケーション内の管理対象オブジェクトコンテキストと複数のアプリケーション(分散システムなど)の両方の管理対象オブジェクトを一意に識別します。私の頭の中で

翻訳:「任意の2 NSManagedObjectIDsが今まで私のアプリケーションのすべてのインスタンスのセットで同じであることをおそらく方法はありません。」

CFUUIDドキュメントの状態:

UUIDが... 128ビットが一意であることが保証 値です。 UUIDは それが 生成され、通常れたイーサネット ハードウェアアドレス10月以来 100ナノ秒間隔の数を表す値 が コンピュータに一意の値を組み合わせることによって、空間と時間 両方にわたって一意なります 15,1582 00:00:00です。私の頭の中で

翻訳:「任意の2 CFUUIDsが今まで私のアプリケーションのすべてのインスタンスのセットで同じであることを間違い方法はありません。」

NSManagedObjectIDが「ユニバーサル識別子」として記述されているという事実は、CFUUIDと同じ一意性を提供することをほぼ確実にしますが、「空間と時間を超えてユニーク」は疑う余地が全くありません。私よりもCore Dataの経験が豊富な方は、私の考えを確認したり拒否したりできますか?

+0

あなたの質問のタイトルはすばらしだと言いたいだけです。 – jjxtra

答えて

2

一意性を超えて、オブジェクトIDが変更されるケースが1つあります。オブジェクトIDを変更すると、オブジェクトをディスクに保存する前にクエリを実行した場合です。保存後、別のIDを持つことになります。その点を越えて、IDは変更されません。私は、何が起こっているのかを理解するまでは少し混乱したので、これを指摘したかっただけです。

NSManagedObjectIDの生成に使用されたハッシュについてはコメントできませんが、生成されたIDを見ると、別のNSManagedObjectと一致する可能性は非常に小さいと思われます。

+0

自分でドキュメントを熟読しながら、一時的なIDについて少し注意することに気付きました。素敵なちょっとした障害でしたか?入力いただきありがとうございます。 –

関連する問題