Для ObservableObject тебе нужно создать StateObject
Сам экземпляр, который хочу передать StateObject. Но в том View, где хочу забайндить там эта ошибка и с ObservedObject и EnvironmentObject.
покажи представление, с которого ты переходишь на этот экран
Вот, хочу передать этот notesManager в новый SwiftUI файл
Я убрал private, в том View возле init ошибка пропала. Осталась эта
чтобы передать environment object, тебе нужно повесить на скоуп, модификатор .environmentObject(notesManager)
Да! Огромное спасибо ❤️
если ты хочешь передавать в инциализатор этот объект, то у тебя должен быть ObservedObject там, куда ты хочешь его передавать, Observed - точечная передача через инциализатор, Environment - можно передавать сразу в весь скоуп, где у тебя находятся вьюхи, не затрагивая каждый инициализатор отдельно
Хорошо, я запомнил. Подскажи пожалуйста, что значит скоуп? Я примерно понимаю, но хочу точно
Ну я так про область видимости представлений, типа у тебя есть VStack, там есть 3 других представления, куда нужно передать твой StateObject, ты можешь повесить на VStack модификатор .environmentObject и в таком случае ты сможешь создать экземпляр этого StateObject без передачи его в иницализатор, просто пишешь @EnvironmentObject SomeName: ViewModel, а если у тебя будет экземпляр ObservedObject, то тебе нужно будет передавать StateObject через инициализатор того представления, где ты объявишь Observed, надеюсь, понятно объяснил
Обсуждают сегодня