WatchOS2 WCSession Сколько делегатов может иметь WCSession в WatchKitExtension?

Мое приложение для iOS отправляет своевременную информацию через инфраструктуру WatchConnectivity. Принимающая сторона реализует делегат WCSession.

У меня есть 2 интерфейсных контроллера, которым нужна информация, отправленная из WCSession.

Один из них — seekInterfaceController, а другой — мой mainInterfaceController.

Можно ли им обоим назначить делегата и одновременно получить userInfo или applicationContext, отправленные из моего приложения iOS? или может быть назначен только один делегат WCSession, и мои контроллеры должны получать данные от назначенного объекта?

Спасибо!


person Jacky Wang    schedule 03.07.2015    source источник
comment
Почему бы тебе просто не попробовать? Это своего рода прямо вперед, чтобы написать код. Скажи мне, если тебе нужна помощь. Также, пожалуйста, отчитайтесь и дайте мне знать, как все прошло.   -  person Philip    schedule 03.07.2015


Ответы (1)


WCSession поддерживает только одного делегата за раз. Если вы хотите, чтобы несколько частей вашего кода уведомлялись о появлении нового входящего контента, вам нужно либо создать класс-оболочку, который имеет аналогичные обратные вызовы для WCSessionDelegate, но поддерживает несколько наблюдателей, либо вы можете использовать локальные уведомления для пересылки содержимого. Возможно, лучше; ваш WCSessionDelegate обновляет хранилище данных приложения, а затем уведомляет части вашего кода, считывающие из хранилища данных, что оно было обновлено, чтобы они обновили свои представления?

person ccjensen    schedule 03.07.2015