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

А нормального способа сначала загрузить данные, а потом построить вью

- нема?

8 ответов

16 просмотров

В приложении понятней и проще со спиннером. А вообще if data { View() } else { EmptyView().task { } }

На SwiftUI отлично Statemachine натягивается и MVI подцепить. View может без проблем содержать сколько угодно View (я не про Body, а про sub типы, которые вообще можно спрятать и не париться - на перфомансе не скажется) просто их разбить по функциям, например одна качает и после загрузки показывает другую. Или наследование через протоколы с логикой тоже можно прицепить. Сделайте какой нибудь LazyView протокол, соответствующий View, в нем реализуйте логику для body и от него уже создавайте ваши View. Т.е. для всех View, которые ждут чего-то там, использовать LazyView который уже занимается показом. Что показывать определить через associatedtype и т.д. В общем вариантом нормально сделать вагон и маленькая тележка. __ Ну и субъективно. schedule.load() не зона ответственности View которое содержит ScheduleView, если нужны данные в родителе, то принимать готовенькое от него, а не прокидывать модель. Либо данные, либо родитель ничего не знает, так избежите проблем. TabView лучше не использовать, он тормозной и тянет все View

Антон-Romanov Автор вопроса
葉戈爾 Егор Олегович
На SwiftUI отлично Statemachine натягивается и MVI...

спасибо за развернутый ответ. по поводу табвью: есть готовые альтернативы для навбара снизу или имеете в виду, что лучше свое реализовать?

Антон Romanov
спасибо за развернутый ответ. по поводу табвью: ес...

Я на самом деле зацепился за больное т.к. уже обжигался, потом сделал обертку UIPageViewController для SwiftUI. Так и таскал ее из проекта в проект копипастом. Потом разродился и сделал пакет (криво-косо, но работало) и как раз сейчас я взялся за этот пакет и делаю его. Отсюда для меня TabView как бельмо на глазу, тряпка для быка если хотите. Я увидел Ваш скрин и у меня триггер сработал. Ну т.е. это все же мое субъективное мнение. Почему я считаю его кривым? Он не освобождает View и если просмотров много, то это все приводит к нормальным тормозам, в Вашем случае, если представлений не много, можно особо не переживать, так уж я, нагнетаю 🙂

Антон-Romanov Автор вопроса
葉戈爾 Егор Олегович
На SwiftUI отлично Statemachine натягивается и MVI...

с зонами ответственности я путаюсь, потому что не могу сообразить, как тут лучше вообще писать в плане архитектуры. вариантов много: вроде кто-то говорит, что лучше мв, кто-то мввм, кто-то еще что посложнее предлагает. можете, пожалуйста, подсказать: вот у меня есть моделька с расписанием. есть вьюха, в которой она используется. у меня вроде как есть варианты: добавить в эту модель что-то по типу метода load (чтобы при загрузке оно заполняло поля уроками); сделать какой-нибудь SheduleService, пропихивать его во вью как синглтон, и в нем дергать метод, возвращающий модель; или может еще что?

Антон-Romanov Автор вопроса
葉戈爾 Егор Олегович
Я на самом деле зацепился за больное т.к. уже обжи...

ну да, у меня тут достаточно мало всего, думаю проблем не будет, но на будущее учту, спасибо

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
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
Карта сайта