2012-10-22 42 views
0

我已打印出我的NSManagedObject之一。我猜想字符串的p457部分可以唯一標識它。我對嗎?哪一塊數據唯一標識一個NSManagedObject?

(Variable *) $1 = 0x0a22b870 <Variable: 0xa22b870> (entity: Variable; id: 0xa22b860 <x-coredata://5CC4CBDE-EB20-483E-AAF2-28BCDB584B4C/Variable/p457> ; data: { 
    calcArgPrefix = nil; 
    calcArgValue = nil; 

回答

2

如果你想跟蹤它然後是調試時,x-coredata://5CC4CBDE-EB20-483E-AAF2-28BCDB584B4C/Variable/p457NSManagedObjectID的表示和後位最後的斜槓是什麼使該實例唯一相同的實體的所有其他實例之中。但要小心 - 分配的值允許爲暫時的,直到對象實際保存到磁盤爲止,所以如果實例剛剛創建,則可能會在saveContext時更改。

如果您需要做一些調試之外的事情,您應該使用NSManagedObjectID本身,而不是字符串或URL表示。

+2

你可以並且應該檢查NSManagedObjectID是否是一個臨時ID,並帶有' - isTemporaryID' –