Я создал приложение iPad iOS 5, которое использует второй экран. У нас есть вид администратора (на iPad) и внешний вид через телевизор с поддержкой HDMI, подключенный через адаптер Apple DVI. Как вид iPad, так и вид телевизора получают одинаковые обновления данных из служебного вызова, который выполняется каждые несколько секунд. Затем мы представляем данные, полученные в виде серии графиков; диаграммные данные представлены очень по-разному для ТВ и iPad-представлений, но основной словарь данных одинаков. Я задаюсь вопросом об элегантном способе создания такого решения. На данный момент у меня есть один из контроллеров вида (admin iPad VC), который выполняет вызовы службы с использованием GCD, а затем отправляет NSNotifications, которые обновляют свойства данных (диаграмм) на другом (ТВ) контроллере представлений. Я подумываю о переносе вызовов службы из VC и создании синглтона, который инициализируется в контроллере приложения. Затем я (каким-то образом) установил два VC в качестве делегатов, и они обновляются с использованием простого протокола. Я не совсем уверен, что это хороший подход или я должен рассмотреть что-то еще? Могу ли я установить оба VC в качестве делегатов другого класса или обычно это только один делегат на один экземпляр класса?iOS Airplay viewcontroller data sychronisation
Спасибо за любой ввод.
Бен
Да, это то, что я говорю. Создание модели, но я не уверен в «лучшей практике», чтобы поделиться этой моделью между двумя активными VC. Что касается singleton, это класс, который выполняет служебные вызовы. Он создается и запускается при запуске и продолжает вызывать сервер, а затем обновляет два VC с использованием модели. Я не люблю использовать уведомления, если это необходимо; по опыту вы можете легко закончить с помощью слишком деактивированного приложения, запускающего события влево, вправо и в центр и без цепочки ответственности. – Ben