185 похожих чатов

Подскажите пожалуйста, как байндить экземляр класса (в моём случае NotesManager)

в SwiftUI? При попытке выдаёт такую ошибку.

12 ответов

23 просмотра

Для ObservableObject тебе нужно создать StateObject

br0ys-Larionov Автор вопроса
Vyacheslove
Для ObservableObject тебе нужно создать StateObjec...

Сам экземпляр, который хочу передать StateObject. Но в том View, где хочу забайндить там эта ошибка и с ObservedObject и EnvironmentObject.

br0ys Larionov
screenshot Сам экземпляр, который хочу передать StateObject. ...

покажи представление, с которого ты переходишь на этот экран

br0ys-Larionov Автор вопроса
Vyacheslove
покажи представление, с которого ты переходишь на ...

Вот, хочу передать этот notesManager в новый SwiftUI файл

br0ys-Larionov Автор вопроса
Vyacheslove
покажи представление, с которого ты переходишь на ...

Я убрал private, в том View возле init ошибка пропала. Осталась эта

br0ys Larionov
screenshot Я убрал private, в том View возле init ошибка проп...

чтобы передать environment object, тебе нужно повесить на скоуп, модификатор .environmentObject(notesManager)

br0ys-Larionov Автор вопроса
Vyacheslove
получилось?

Да! Огромное спасибо ❤️

br0ys Larionov
Да! Огромное спасибо ❤️

если ты хочешь передавать в инциализатор этот объект, то у тебя должен быть ObservedObject там, куда ты хочешь его передавать, Observed - точечная передача через инциализатор, Environment - можно передавать сразу в весь скоуп, где у тебя находятся вьюхи, не затрагивая каждый инициализатор отдельно

br0ys-Larionov Автор вопроса
Vyacheslove
если ты хочешь передавать в инциализатор этот объе...

Хорошо, я запомнил. Подскажи пожалуйста, что значит скоуп? Я примерно понимаю, но хочу точно

br0ys Larionov
Хорошо, я запомнил. Подскажи пожалуйста, что значи...

Ну я так про область видимости представлений, типа у тебя есть VStack, там есть 3 других представления, куда нужно передать твой StateObject, ты можешь повесить на VStack модификатор .environmentObject и в таком случае ты сможешь создать экземпляр этого StateObject без передачи его в иницализатор, просто пишешь @EnvironmentObject SomeName: ViewModel, а если у тебя будет экземпляр ObservedObject, то тебе нужно будет передавать StateObject через инициализатор того представления, где ты объявишь Observed, надеюсь, понятно объяснил

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Карта сайта