Я узнал, что Core Data - это в основном база данных SQLite. Каждый объект представляет собой отдельную таблицу. Существуют также таблицы, которые не являются объектами, включая Z_METADATA
, Z_MODELCACHE
и Z_PRIMARYKEY
. Я не знаю, что они делают.Как я могу получить значение первичного ключа NSManagedObject?
В любом случае, я видел, что поля «сущностей» примерно такие же, как те свойства, которые я добавил в модели данных, плюс несколько дополнительных функций. Например, если мой объект имеет только одно свойство, которое называется date
. Таблица будет иметь поле ZDATE
, а также Z_PK
, Z_ENT
и Z_OPT
.
По-видимому, каждый объект имеет первичный ключ, который хранится в поле Z_PK
! Я хочу получить значение этого первичного ключа определенного NSManagedObject
. И я хочу запросить базу данных для NSManagedObject
, которая имеет определенный первичный ключ.
Так в основном, что-то вроде этого:
let pk = myManagedObject.primaryKey
// the below should return myManagedObject
managedObjContext.objectWithPrimaryKey(someEntityDescription, pk)
Я искал документацию для NSManagedObject
и увидел objectID
. Но я не думаю, что это так, или нет?
Я считаю, что вы имеете в виду Идентификатор объекта, когда вы говорите первичный ключ. Отметьте http://stackoverflow.com/questions/901640/core-data-primary-key –