Learn SwiftUI by Building a Recipe Book App for iOS & macOS
A step-by-step guide to building a modern SwiftUI Recipe Book app for iOS and macOS.
SwiftUI guides and advanced patterns.
A step-by-step guide to building a modern SwiftUI Recipe Book app for iOS and macOS.
How we built ObservedOrStateObject to let SwiftUI views own or observe view models without duplicating code.
SwiftUI silently ignored save error alerts once a second alert existed, and this post captures what we learned in the Advanced SwiftUI: Lessons From Mistakes series.
During test teardown we hit a repeatable 'pointer being freed was not allocated' crash while deallocating a @MainActor ObservableObject, and this post explains why we treated it as a Swift runtime edge case instead of rewriting our architecture.
After enabling stricter Swift concurrency checks, we started seeing main-actor isolation errors from @MainActor initializers that used default parameter values. This post explains why default parameter expressions are nonisolated and how to fix the pattern by moving defaults into the initializer body.
Under XCTest teardown we hit a repeatable 'pointer being freed was not allocated' malloc crash when deallocating async/Combine-heavy DependencyContainer and view models. This post explains what was happening and why we fixed it by deliberately leaking those objects in DEBUG tests only.