Передайте EnvironmentObject как слабую ссылку на SwiftUI View.IOS

Программируем под IOS
Ответить
Anonymous
 Передайте EnvironmentObject как слабую ссылку на SwiftUI View.

Сообщение Anonymous »

В настоящее время мы используем координаторов для управления жизненным циклом навигации нашего приложения SwiftUI. По очевидным причинам масштабируемости мы выбрали шаблон координатора. Теперь мы хотим внедрить объект-координатор в качестве объекта среды; однако, поскольку координатор владеет родительским контроллером навигации, которому принадлежат дочерние элементы UIHostingViewControllers, мы хотим передать координатора как слабый EnvironmentObject. Возможно ли это вообще?
Код координатора:
final public class RideCoordinator: PresentingCoordinator, ObservableObject {

// MARK: - Start

public override func start(options: [String : Any]? = nil) -> MSKit.CoordinatorNavigationViewController {
_ = super.start(options: options)
let welcomeView = MainScreen().environmentObject(self)
startSwiftUIView(rootView: welcomeView, animated: false)
return navigationController
}
}

Пример просмотра:
struct MainScreen: View {

// MARK: - Environment

/// **Error** Property 'coordinator' with a wrapper cannot also be weak
@EnvironmentObject weak var coordinator: RideCoordinator?

// MARK: - View

var body: some View {
Text("Welcome")
}
}


Подробнее здесь: https://stackoverflow.com/questions/787 ... iftui-view
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»