SwiftUI, как вызвать или оповестить сцену делегата из вида - PullRequest
0 голосов
/ 15 февраля 2020

У меня есть некоторый код (менеджер bluetooth), который я хочу реализовать как приложение для приложения.

Я прочитал много онлайн-уроков о передаче переменной среды и использовании наблюдаемого объекта для обмена состояниями, что полезно для передавать данные из делегата сцены в представления, например, список найденных BT-устройств. Однако, как представления могут общаться с делегатом сцены?

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

1 Ответ

1 голос
/ 15 февраля 2020

Потенциальное решение:

Создать класс, соответствующий ObservableObject, с переменными состояния и методами. Инициируйте его в делегате сцены как одноэлементный объект, а затем передайте его представлениям как объект среды.

В каждом представлении у нас будет доступ к методам и состоянию в этом совместно используемом синглтоне.

...