CoreData - Таблица сопоставления моделирования - PullRequest
0 голосов
/ 17 декабря 2011

Я планирую использовать CoreData для моделирования iOS-приложения «Новости».Это будет иметь много разделов (читайте UITabBarItem), которые будут содержать много статей (в UITableView).Статьи могут появиться и в других разделах.Кроме того, порядок сортировки каждой статьи является еще одним важным фактором.

В языковой базе данных у меня будет

  • таблица "Article"
  • Таблица разделов и таблица
  • Article_Sections для сопоставления статьи с разделом с дополнительным полем порядка сортировки.

Я пробовал и не могу смоделировать это в CoreData. Imзастрял с

  • классом «Section», имеющим отношение «многие ко многим» с
  • классом «Article» (с обратным отношением «многие ко многим» к «Section»”Class).

Однако при этом я не знаю, как получить порядок сортировки. Любая подсказка о том, как это сделать, очень ценится. Заранее спасибо.

Sandeep

Ответы [ 3 ]

1 голос
/ 21 декабря 2011

Мне пришлось перестать думать в терминах базы данных, чтобы разобраться с этим. Мое решение включало 2 класса:

  • ArticleList

Свойства: * Название списка * Идентификатор статьи * Порядок сортировки

Отношения: * Статья ; один-к-одному

  • Статья

Свойства: * Идентификатор статьи * ....

Отношения: * Список; один-ко-многим

Я запрашиваю ArticleList и сортирую на sortOrder, чтобы получить список статей для определенного канала / раздела. Затем используйте valueForKeyPath: для получения свойств статьи (таких как заголовок и т. Д.).

0 голосов
/ 18 декабря 2011

Вы можете добавить сущность "ArticleSectionPair" в качестве посредника между "Разделом" и "Статьей" с помощью:

  • атрибут "sortValue"
  • отношение «один ко многим» «section» к сущности «Section» (с его обратным «articlePairs»)
  • отношение «один ко многим» «article» к сущности «Article» (с обратным «sectionPairs»)

Используя атрибут "sortValue" и th, вы можете получить отсортированную коллекцию ArticleSectionPairs из раздела и получить статьи с [sortedArticlePairs valueForKeyPath:@"article"].

0 голосов
/ 18 декабря 2011

Я думаю, что вам нужно удалить прямую связь между разделом и статьей и просто установить связь из таблицы Article_Sections обратно к таблицам section и article.

...