2013-06-01 6 views
0

В настоящее время я работаю над приложением iOS, касающимся телевизионных шоу и их эпизодов. У меня есть настройка отношений от одного до нескольких (Show -> Episodes), а в UITableView я хочу, чтобы он сортировал объекты Show в следующем эпизоде ​​эфирного эфира. Кажется, я не понимаю. У меня есть два разных подхода, которые я пытаюсь сделать безрезультатно.Сортировка родительского объекта по атрибуту его дочерних элементов

  1. Fetching Эпизоды: Используйте NSPredicate только выборки эпизодов чей firstAired атрибут> = сегодня, то сортировать по firstAired. Когда вы заполняете табличное представление, я могу получить доступ к атрибуту «Показать» и вытащить нужные данные. Хотя это здорово, я заканчиваю каждый эпизод, который появляется после сегодняшнего дня. Я не вижу никакого способа только получить первый эпизод, чтобы выпустить воздух после сегодняшнего дня.

  2. Fetching показывает: Использование атрибута NSDate (nextEpisodeDate) на Показать объект, который обновляется каждый раз, когда добавляется новый эпизод и каждый раз, когда приложение запускается. Это означает, что я должен часто обновлять этот атрибут (каждые 30 минут, которые атрибут может изменить, если только эпизод просто показан), и когда я загружаю свое табличное представление, мне нужно найти следующий эпизод для эфира в каждой ячейке, которая интенсивно и замедляет TableView.

Кто-нибудь знает об эффективном способе сделать это?

ответ

0

Я бы сказал, что будет еще эффективнее, чтобы сделать эти шаги:

  1. Loop через каждое шоу и найти следующий предстоящий эпизод. Вы можете использовать NSPredicate для фидера по шоу, сортировать по первому, и ограничивать 1, чтобы получить тот, который вы хотите.

  2. Как только вы найдете следующий предстоящий эпизод для этого конкретного шоу, добавьте его в NSMutableArray, который сохранит все предстоящие эпизоды из каждого шоу.

  3. Как только у нас есть все предстоящие эпизоды из каждого шоу, соберите NSMutableArray от FirstAired.

  4. Используйте отсортированные эпизоды NSMutableArray в качестве источника данных в виде таблицы и просто получите шоу из эпизодов.

Я построил аналогичные приложения с указанием следующего предстоящего шоу с каждого телевизионного канала, но приложение разрабатываю разработан, чтобы показать предстоящих шоу на каждый день, поэтому у меня есть преимущество ограничения firstAired> = сегодня и firstAired < = на следующий день.

+0

Хм, это могло работать. Я сделаю это! Благодаря :) –

Смежные вопросы