У меня есть класс Startup. В этом классе у меня есть набор функций, которые я вызываю из SceneDelegate при запуске приложения.
например:
class Startup {
func doThis() {
print("I'm doing this")
}
}
В какой-то момент он может загрузить данные, если это необходимо. Когда это происходит, Я хотел бы активировать оповещение с индикатором активности, чтобы заблокировать пользовательский интерфейс от ввода данных пользователем, пока все не будет завершено.
У меня все оповещение индикатора активности настроено вContentView, который запускается в EnvironmentObject var Bool. Поэтому все, что мне нужно сделать, чтобы активировать это предупреждение о блокировке пользовательского интерфейса, - это переключить () мой env var.
Проблема, с которой я столкнулся, заключается в том, что я не могу вызвать этот env var из своего класса. Я пробовал следующее:
Когда я помещаю @EnvironmentObject var dataBusy: DataBusy
и вызываю его из функции: dataBusy.isBusy = true
, я получаю сообщение об ошибке:
Неустранимая ошибка: НетObservableObject типа DataBusy найден.
Это указывает на то, что мне нужно поместить объект env в среду класса, когда он создается, однако, когда я пытаюсь это сделать, я получаю:
Значение типа кортежа '()' не имеет члена 'environmentObject'
Итак, я не могу добавить эту переменную env в этот объект класса.
Попытка использовать:
@ObservedObject var dataBusy = DataBusy()
В моем классе, похоже, нет ошибок, но переключение этого ничего не делает для запуска моего события.
Я не могуПодумайте о любом другом способе общения с моим View из этого класса запуска.
Есть идеи?