I’ve just completed Day 39 of the 100 Days of SwiftUI challenge. This is project 8, part 1, which teaches about GeometryReader, ScrollView and NavigationLink.
One topic in this that I thought seemed quite exotic and unexpected, was layouts and grids. These are great automated ways to layout a number of views and have them adapt to the size of the screen. I also found ScrollView rather interesting, and when combined with a LazyVStack (for example) you get quite a powerful way to put lots of scrollable content or views on the screen.