NSManagedObjectID 中额外的 'p' 从哪里来?
Where does extra 'p' in NSManagedObjectID come from?
我正在形成这样的 NSManagedObjectID
:
NSManagedObjectID *objectID = [store newObjectIDForEntity: entityForPlayer
referenceObject: GKLocalPlayer.localPlayer.playerID];
store
是一个 NSIncrementalStore
。在调试器中 GKLocalPlayer.localPlayer.playerID
看起来像 G:12345678
但 objectID
看起来像 <x-coredata://<UUID>/Player/pG:12345678>
.
额外的 p
(在逐字玩家 ID 之前)从何而来?它显然没有出现在其他实体类型中,这些实体类型也使用 NSString
s 作为参考对象。
有根据的猜测,因为它是一个实现细节:
p
的意思是永久的,因为对象已经保存到store中了。即 [objectID isTemporaryID] == NO
。
如果尚未保存对象,它将是 t
。即 [objectID isTemporaryID] == YES
。
我正在形成这样的 NSManagedObjectID
:
NSManagedObjectID *objectID = [store newObjectIDForEntity: entityForPlayer
referenceObject: GKLocalPlayer.localPlayer.playerID];
store
是一个 NSIncrementalStore
。在调试器中 GKLocalPlayer.localPlayer.playerID
看起来像 G:12345678
但 objectID
看起来像 <x-coredata://<UUID>/Player/pG:12345678>
.
额外的 p
(在逐字玩家 ID 之前)从何而来?它显然没有出现在其他实体类型中,这些实体类型也使用 NSString
s 作为参考对象。
有根据的猜测,因为它是一个实现细节:
p
的意思是永久的,因为对象已经保存到store中了。即 [objectID isTemporaryID] == NO
。
如果尚未保存对象,它将是 t
。即 [objectID isTemporaryID] == YES
。