Как передать данные обратно на контроллер интерфейса в Watchkit

Я знаю, что этот вопрос задавался много, но, похоже, никто не дал правильного ответа.

У меня есть контроллер интерфейса, который имеет таблицу. Теперь, когда пользователь выбирает строку, я помещаю информацию в новый контроллер интерфейса. self.pushController(withName: "DetailInterfaceController", context: context), Теперь в новом DetailInterfaceController я могу очень легко получить доступ к своему контексту в awake(withContext context: Any?), Все идет нормально. Пользователь должен что-то изменить в контексте, а затем отправить контекст обратно на предыдущий контроллер интерфейса. Я использую шаблон делегата, чтобы сделать это. Я думал, что смогу использовать его как в ios. Но я сталкиваюсь с проблемой делегата. Я не могу найти способ установить делегата. Watchkit не позволяет вам просто создать экземпляр контроллера интерфейса (как я обычно делал бы в ios).

Я старался:

https://makeapppie.com/2015/05/29/swift-watchkit-introducing-navigation-to-the-apple-watchpart-4-dismissals-and-segues/

и это:

http://koreyhinton.com/blog/watchkit-delegates-and-contexts.html

но у меня есть ошибка от компилятора, что я не могу уменьшить свой контекст.

Я просто не могу поверить, что в наборе часов нет способа установить делегата! Это кажется абсурдным. Я часто использую шаблон делегата в ios.

Может кто-нибудь сказать мне, как это можно сделать? Или это просто нельзя сделать в Watchkit?

1 ответ

Вы можете использовать NotificationCenter для передачи данных, если предложенные решения в ссылках не работают для вас.

Другие вопросы по тегам