nalexn / clean-architecture-swiftui

SwiftUI sample app using Clean Architecture. Examples of working with CoreData persistence, networking, dependency injection, unit testing, and more.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Обновление Loadable-объектов. Возможно ли?

riley-usagi opened this issue · comments

Во-первых хочу поблагодарить за проделанную работу. Проект получился очень показательным и в крайней степени полезным. Мне очень понравилась данная архитектура и хотелось бы использовать её во всех своих проектах (SwiftUI) в будущем.

Не могу сказать, что обладаю должным опытом, так что вопрос может показаться довольно глупым, но всё же.

Правильно я понимаю, что Loadable-объекты, используемые для разделения каждого View на несколько статусов отображения, созданы только для чтения, но не для записи?

Как, в таком случае, обновлять объекты отображаемые на экране благодаря данным из Loadable-объекта?

Заранее спасибо.

Ps. Проше прощения что не на английском. Так было проще =)

Привет, Loadable это просто контейнер для корректной передачи состояния загружаемого контента для UI, без него возникают осложнения разные - подробнее я описывал в этой статье.

Не совсем понимаю, что ты имеешь в виду под записью, но сами по себе Loadable не мутабельны, и так и должно быть. UI не должен иметь возможность менять данные напрямую, вместо этого он должен явно попросить ViewModel об изменении. А поскольку ViewModel и является источником Loadable для UI, то она может изменить данные согласно бизнес логике и потом выпустить новый Loadable с актуальными измененными данными, которые UI уже автоматически увидит.

Понадобилось ещё какое-то время, чтобы понять в чём суть, но, да... Спасибо за объяснение)