Я строю простое приложение в Swift с использованием Core Data и пытаюсь решить, должен ли я хранить уникальный идентификатор в своих объектах. В моих исследованиях я нашел примеры этого и примеры, которых нет, но я не нашел ясных аргументов в пользу такого решения.Какие вопросы я должен задать себе, чтобы определить, нужен ли мне первичный ключ для моего приложения Core Data?
Пожалуйста, обратите внимание: - Я родом из РСУБДА фона, и я знаю, что ядро данные является объектным графом, не является реляционной БД - Я знаю, что основные данные создает NSManagedObjectID
, но как я могу определить, если такую волю быть достаточно
Я вижу темы, как this (от 7 лет назад, кстати), который выкладывает эти варианты:
- Применение - [NSManagedObject ObjectId]. Обратите внимание, что этот идентификатор временно до либо объекта не будет сохранен в первый раз или вы звоните
- [NSManagedObjectContext obtainPermanentIDsForObjects: Ошибка:] Используйте семейство CFUUID функций для генерации UUID для каждого объекта в вашем -awakeFromInsert метода
- Создайте свой собственный первичный ключ, как система, которая хранит целое число в вашей модели и увеличивает его с созданием каждого объекта
, но я не смог найти много информации о том, какие варианты являются подходящими для которых ситуации.
Какие вопросы я должен задавать себе, чтобы выяснить, есть ли уникальный идентификатор Core Data (NSManagedObjectID), который мне нужен, или если я должен выйти за рамки этого и выбрать включить один из моих собственных в микс.
Я не кодер данных с основными данными (только с ним обходился), но я всегда думал, что для модели есть два возможных «источника» - mySQL или XML-файл. Будучи человеком MSSQL сам в прошлой жизни, я думаю, что любой дизайн БД, который вам нравится, будет достаточным для ответа. На самом деле, есть аргументы, которые я читал, что компакт-диск иногда является ненужным слоем, и использование прямого дизайна mySQL упрощает работу. (Эти аргументы иногда утверждают, что максимальная сила CD - это постоянство.) – dfd