SwiftUI dev
1.17K subscribers
87 photos
37 videos
1 file
74 links
Mobile development, SwiftUI, Compose, feel free to reach me: @lexkraev
Download Telegram
Channel created
На мой взгляд, одна из лучших книг про #Combine , все достаточно подробно описано, дополнено примерами

#readthis
SwiftUI dev pinned «На мой взгляд, одна из лучших книг про #Combine , все достаточно подробно описано, дополнено примерами #readthis»
📖 Sources of truth in SwiftUI
Подробно про StateObject
SwiftUI dev
📖 Весьма подробная презентация “Demystify SwiftUI” #watchthis
❗️Главное:
1. Не использовать AnyView, строится неоптимальный код
2. 📖 В SwiftUI два типа identity у View: structural и explicit, в UIKit - pointer identiity
3. 👆🏻 If-else - относится к structural типу. If-else разворачивается «под капотом» в _ConditionalContent с новым Branch.
4. ☝🏼 Стараться по возможности минимизировать ветвление If-else, например, заменяя легкими модификаторами. Это, как минимум, улучшает отрисовку анимации. Если не получается, то стараться «бранчевать» ниже всего в иерархии view: так как sui оптимизирован из коробки, будут перерисоваться только те view, у которых сменился identity.
5. ☝🏼 В ForEach рекомендуется использовать strong explicit identity (например, явный id объекта, взятый из БД)
6. 🤷🏼‍♂️ Использование UUID спасает во многих ситуациях, но считается не лучшей практикой: неожидаемая отрисовка анимации в списке, когда новый элемент надо поместить в начало списка

#readthis