Базовый первичный ключ данных

Вы можете реализовать интерфейсы с ключевым словом Implements.

77
задан Mugunth 24 May 2009 в 03:17
поделиться

3 ответа

Возможные варианты:

  • Использовать - [NSManagedObject objectID] . Обратите внимание, что этот идентификатор является временным, пока объект не будет сохранен в первый раз или вы не вызовете - [NSManagedObjectContext receivePermanentIDsForObjects: error:]
  • Используйте семейство функций CFUUID для создания UUID для каждый объект в вашем методе -awakeFromInsert
  • Создайте свою собственную систему, подобную первичному ключу, которая хранит целое число в вашей модели и увеличивает его при создании каждого объекта

Нет хорошего способа проверки что свойство уникально. Самое близкое, что вы получите, - это убедиться, что он уникален во время создания, а затем реализовать собственный метод установки, который не позволит никому изменить идентификатор.

89
ответ дан 24 November 2019 в 10:53
поделиться

Имейте в виду, что Core Data - это структура постоянства объектного графа, а не база данных. Такие вещи, как первичные ключи, абстрагируются, потому что они зависят от реализации постоянного хранилища.

44
ответ дан 24 November 2019 в 10:53
поделиться

Core Data создает свой собственный первичный ключ - вам не нужно его добавлять. Вы можете получить его с помощью

NSManagedObjectID *moID = [managedObject objectID];
21
ответ дан 24 November 2019 в 10:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: