Можете ли вы иметь UItableView со смешанным контентом (аудио видео текст аудио) из coredata? - PullRequest
0 голосов
/ 25 февраля 2011

У меня есть модель coreData, в которой у меня есть таблица событий и таблицы видео, текста, аудио и изображений, которые имеют отношение один к одному с таблицей событий.

В моем приложении у меня есть класс rootTableViewController, который отображает все события. При выборе ячейки Event отображается detailTableViewController, который отображал бы все связанные объекты текста, видео, аудио и изображений в UItable. Объекты должны быть отсортированы в хронологическом порядке, поэтому в таблице могут быть разные типы объектов.

мой вопрос: возможно ли это сделать с помощью UItableView? Лучше выбрать все объекты в NSMutableArray, затем отсортировать массив и использовать его в качестве входных данных для CellForRowAtIndexPath.

Мне удалось сделать это с помощью UIScrollView (без coredata). Вставка различных представлений в зависимости от типа объекта; но я подумал, что использование UITableView лучше подходит для управления данными.

Большое спасибо за предоставленную помощь.

Ответы [ 2 ]

0 голосов
/ 25 февраля 2011

Обычно вам нужно беспокоиться о выборках только тогда, когда вы не знаете, какие управляемые объекты вы ищете. Если у вас есть управляемый объект, но вам нужны другие связанные объекты, вы просто просматриваете график отношений вместо выборки.

В этом случае rootTableViewController выбрал объект Event, выбранный пользователем. Когда он загружает detailTVC, он может передать ему объект Event. Затем detailTVC может запросить у объекта Event все связанные медиа-объекты. Затем вы можете отсортировать их в массив в любом случае.

Чтобы отобразить каждый тип мультимедиа, создайте настраиваемую ячейку табличного представления для каждого типа и загрузите эту ячейку, когда индекс указывает на управляемый объект этого типа.

Дополнительный совет. Это неправильно, когда вы говорите:

У меня есть модель coreData, где у меня есть Событие Таблица и видео, текст, аудио, изображение таблицы , которые имеют много к одному связь с таблицей событий.

Базовые данные не являются SQL. У него нет таблиц, строк, столбцов и т. Д. Вместо этого у него есть сущности (абстрактные) и управляемые объекты (конкретные). Отношения связывают сущности в модели и управляемые объекты в реальных данных. Это называется графом объектов, и основной целью Core Data является управление этим графом. В отличие от SQL, на самом деле все равно, как и когда граф сохранится на диске.

Мышление основных данных в терминах SQL всегда приводит к печали.

0 голосов
/ 25 февраля 2011

Что вы можете сделать, это получить объекты, связанные с данным Событием, с NSFetchRequest и в запросе указать дескриптор сортировки для даты. Затем полученный массив будет отсортирован так, как вы хотите.

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