Могу ли я указать Core Data использовать определенный уникальный идентификатор для объекта y при его сохранении? - PullRequest
1 голос
/ 12 февраля 2010

Пример: я читаю данные из файла XML. Эти данные имеют уникальные элементы id. Я хочу хранить эти объекты с их оригинальным уникальным идентификатором. Как бы я это сделал?

Я понял, что могу спросить у управляемого объекта его идентификатор, например:

NSManagedObjectID *moID = [managedObject objectID];

но здесь проблема в следующем: XML сообщает мне с элементом id , какой объект это, и мне нужно искать в базе данных основных данных, если этот объект уже существует или нет , Так это единственный вариант сделать атрибут id в моей модели управляемых объектов для этого объекта, а затем запросить его? Тогда у меня будет две идентификационные системы, верно?

Ответы [ 2 ]

6 голосов
/ 12 февраля 2010

Не беспокойтесь о ObjectID базовых данных. Это внутренний уникальный идентификатор, который не гарантируется быть постоянным в течение жизненного цикла объекта (например, он изменится, когда вы сохраните объект в хранилище sql). Просто создайте новый обязательный атрибут в вашей модели и пометьте его как индексированный, чтобы поиск был быстрым.

1 голос
/ 12 февраля 2010

В объекте, связанном с объектами такого типа, просто добавьте еще один атрибут типа string, назовите его objectID или аналогичный и объявите его обязательным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...