Остановка задачи WatchKit execute () во втором WKInterfaceController

Мое приложение имеет два экрана. Первая имеет несколько кнопок, каждая из которых открывает одну и ту же секунду. WKInterfaceController но с разными контекстными данными в зависимости от того, какая кнопка нажата.

я использую pushController(withName:context:) открыть второй вид.

Моя проблема в том, что второе представление запускает отложенную задачу с perform() что мне нужно отменить cancelPreviousPerformRequests если пользователь возвращается к первому экрану и выбирает другую кнопку.

Самый простой подход будет использовать крюк во втором WKInterfaceController когда пользователь переходит назад на первый экран, нажимая маленькую стрелку назад или проводя вправо, но я не знаю, есть ли такой хук.

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

Другим решением было бы получить доступ к объекту, представляющему второй экран, чтобы я мог вызвать cancelPreviousPerformRequests на нем, когда появляется первый экран, но я не знаю, есть ли способ получить доступ к WKInterfaceController объект создан pushController,

0 ответов

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