2015-03-12 6 views
0

Я образуя NSManagedObjectID вроде этого:Откуда добавляется «p» в 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 s как ссылочные объекты.

+0

Какой язык программирования здесь? Вероятно, вам не хватает языкового тега. –

ответ

0

Образованные догадка, потому что это деталь реализации:

p означает что-то вроде постоянного, так как объект был сохранен в хранилище. т.е. [objectID isTemporaryID] == NO.

Это будет t, если объекты еще не сохранены. то есть [objectID isTemporaryID] == YES.

+0

Я должен был упомянуть, что, по-видимому, не отображается с другими типами сущностей (см. Обновленный вопрос). Я проверю 'p' на постоянное и' t' на временное и примет ваш ответ, если это так. – Drux