массив? То несколько вариантов испробовал, не помогло, бо как вычитал что из инита нельзя аппендить, и даже если вызывать функцию и уже в ней аппендить
Нарисуй схематично что тебе надо
честно, в вообще не представляю, в плане схемы, как это нарисовать, но если последовательно как должно было бы быть по моей задумке, это: Подписываюсь на ивент pusher для получения уведомления от сервера о сообщении новом -> полученное конверчу в data -> дату эту уже декоде по модели -> записать в массив который рендерю уже это всё. И вот скрин как это делаю, (криво и как вафел походу...) прост 1 раз такое делаю, т.к ничего не делал раньше с realtime по типу soketIo или Pusher, да почти одно и тоже, сокеты и там и там
https://stackoverflow.com/questions/63219840/swiftui-append-in-init-function-doesnt-work
Вот здесь вся магия SUI выливается наружу ) Ты наверное знаешь, что SUI каждый раз, когда ему нужно перерисовать что-то на экране, пробегается по всей иерархии body и снова и снова создаёт все нужные ему вьюхи. То есть твой init может вызваться не один раз, а каждый раз, когда SUI решит перерисовать твою вьюху по тем или иным причинам. Поэтому тебе нужно понимать, что всё что ты делаешь внутри init может быть вызвано огромное количество раз. Если ты должен подписаться лишь один раз то знай, что на деле будешь подписываться каждый раз, когда SUI решит перерисовать твою вьюху. Имей это ввиду. А вот касаемо State, разработчики SUI об этом заранее позаботились и на самом деле, то что хранится внутри State, хранится на самом деле в отдельном хранилище вне твоей вьюхи. Вот только доступ к этому хранилищу появляется после вызова init. Поэтому все твои попытки вызвать append ни к чему не приводят, потому что доступа к хранилищу в котором реально находятся твои данные в init у тебя нет.
Даже если посмотреть на определение State, то setter у wrappedValue немутируемый
интересно, по факту это, спасибо за инфу)!
А зачем тебе апенд в массив делать?
есть чат, он предназначен для общения между клиентом и бухглатером, пользователь пишет сообщение, оно по АПИ улетает на бек, бек триггерит сервис Pusher, и в аппку прилетает по ивенту сообщение с содержанием, от кого, какая роль и сам текс, либо просто текст либо урл(по которому файл буду с серва подгружать, что ползователь отправил), и вот при ивенте от сервиса (тот же вебсокет от использует), я разбираюи это сообщение и пихаю в массив для отрисовки, бо до 10кб ограничение видел у них (ну либо беды с башкой и это не уних)
Обсуждают сегодня