CoreData Arrays - PullRequest
       16

CoreData Arrays

4 голосов
/ 10 мая 2011

В настоящее время мне нужно настроить базу данных, которая использует следующую структуру.

  • пункт 1
    • Объект А
      • Материал A1
      • Материал А2
      • Материал A3
    • Объект Б
      • Материал B1

Моей первой мыслью было создать 3 объекта, по одному для «Предмета», «Объекта» и «Материала», а затем иметь массив в каждом. Таким образом, каждый «элемент» будет иметь массив, содержащий «объекты», а каждый объект - массив «вещей».

Это был бы хороший подход? Если нет, то какой будет более правильный и эффективный способ решения той же задачи?

Ответы [ 2 ]

4 голосов
/ 11 мая 2011

В этих ситуациях, когда у вас есть 2 сущности и вы хотите иметь отношение между ними, вы должны попробовать отношения CoreData .В этом случае вы должны использовать отношение ко многим .

PS: не забудьте выбрать правило удаления ваших отношений!:)

4 голосов
/ 10 мая 2011

Ваш подход к созданию 3 сущностей - правильный путь.Связи между этими объектами - это то, что Базовые Данные называют отношениями .Вы должны принять к сведению, что Core Data обрабатывает только неупорядоченные отношения.Таким образом, Объект A не получит NSArray из Материал , он будет иметь NSSet из Материал .

Если порядокзатем вам нужно использовать атрибут подобъекта для сортировки и извлечь эти объекты, используя NSFetchRequest.Например, сортировка по некоторому атрибуту «name» или «date».

...