Learn how to implement seamless infinite scrolling and pull-to-refresh in your SwiftUI apps using Combine. This step-by-step tutorial Building a Star Wars App with SwiftUI + Combine Part 3 shows you how to enhance your Star Wars character list with modern scrolling behaviors while optimizing network requests. Perfect for Swift developers looking to add professional touches to their iOS applications without complex boilerplate code.
After dealing with pagination in the current implementation (async/await for the network call) I realize that using Combine not only simplifies a lot everything, but creates a wonderful use case to start using Combine as much as we can, so in this post we reborn it as Building a Star Wars App with SwiftUI & Combine.
This is a Work in Progress project that demonstrates the use of modern Swift development principles, including async/await for networking, the use of Dependency Injection with the use of the concept of Composition Root, local asset management, unit testing strategies, the MVVM UI Design Pattern and also shows clean ways of communicating changes to the team with small commits and clear messages.
Since iOS 16 SwiftUI Navigation is much more powerful. Using NavigationStack and combined with the Observation pattern in iOS 17 you can make a really powerful Navigation.
Learn about @Observable macro. How it differs from the old @ObservableObject and how to implement it in the right way.
Take advantage of @State & @Binding in your SwiftUI App. Learn when to use each and why. This is an essential tool for any iOS Developer to master.
When designing user interfaces in SwiftUI, creating layouts that adapt seamlessly across different screen sizes is essential. Geometry Reader is a powerful yet often overlooked tool that helps achieve responsive designs by providing access to a view’s size and position within its container.