Как передать данные обратно на контроллер интерфейса в Watchkit
Я знаю, что этот вопрос задавался много, но, похоже, никто не дал правильного ответа.
У меня есть контроллер интерфейса, который имеет таблицу. Теперь, когда пользователь выбирает строку, я помещаю информацию в новый контроллер интерфейса. self.pushController(withName: "DetailInterfaceController", context: context)
, Теперь в новом DetailInterfaceController я могу очень легко получить доступ к своему контексту в awake(withContext context: Any?)
, Все идет нормально. Пользователь должен что-то изменить в контексте, а затем отправить контекст обратно на предыдущий контроллер интерфейса. Я использую шаблон делегата, чтобы сделать это. Я думал, что смогу использовать его как в ios. Но я сталкиваюсь с проблемой делегата. Я не могу найти способ установить делегата. Watchkit не позволяет вам просто создать экземпляр контроллера интерфейса (как я обычно делал бы в ios).
Я старался:
и это:
http://koreyhinton.com/blog/watchkit-delegates-and-contexts.html
но у меня есть ошибка от компилятора, что я не могу уменьшить свой контекст.
Я просто не могу поверить, что в наборе часов нет способа установить делегата! Это кажется абсурдным. Я часто использую шаблон делегата в ios.
Может кто-нибудь сказать мне, как это можно сделать? Или это просто нельзя сделать в Watchkit?
1 ответ
Вы можете использовать NotificationCenter для передачи данных, если предложенные решения в ссылках не работают для вас.