Откуда берется дополнительный "p" в NSManagedObjectID?
Я формирую 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
(до стенографического идентификатора игрока) откуда? По-видимому, он не отображается с другими типами сущностей, которые также используют NSString
в качестве эталонных объектов.
1 ответ
Решение
Обоснованное предположение, потому что это деталь реализации:
p
означает что-то вроде постоянного, потому что объект был сохранен в магазине. т.е. [objectID isTemporaryID] == NO
,
Это будет t
если объекты еще не были сохранены. т.е. [objectID isTemporaryID] == YES
,