Diving Deep into Swift Navigation and Budget Insights | Weekly Review ep.4
Hello-hello, fellow introverts and tech enthusiasts! Maxim here, bringing you another weekly review filled with Swift discoveries and budget musings.
Let's peel back the layers of my recent adventures in coding and budgeting, shall we?
Embracing Swift's NavigationStack
This week, I wrapped my head around NavigationStack in Swift. With iOS 16, this new feature is all about enhancing app navigation in a dynamic way. And boy, it's a game-changer, albeit a bit perplexing at times for a Swift newbie like me.
A Peek into NavigationStack
Imagine a button in your app that, with a simple tap, whisks your users off to a new screen. That's the magic of NavigationStack for you. It's essentially a roadmap for your app, guiding users from one point to another seamlessly.
// Example of using NavigationStack in Swift struct ContentView: View { @State private var path = NavigationPath() var body: some View { NavigationStack(path: $path) { Button("Navigate") { path.append(MyDestinationView()) } .navigationDestination(for: MyDestinationView.self) { destination in MyDestinationView() } } } }
This snippet shows how straightforward it is to navigate between views. The concept of a NavigationPath
acting as an array that directs the flow within the app is fascinating, especially for complex navigation patterns like those in eCommerce apps.
Tackling Code Reviews
Halfway through the "100 Days of SwiftUI" challenge, I've had my fair share of coding highs and lows.
Moonshot App Revisited
I applied programmatic navigation to the Moonshot app, tweaking navigation for both the main and crew views. The process was enlightening, showing how .navigationDestination
can simplify navigation logic, even when it involves conditional checks for astronaut IDs.
HabitTracker App: A Test of Skill
The HabitTracker app was a playground for implementing new concepts, including an external macOS-style emoji picker. Navigating the intricacies of SwiftUI, especially around state management and data flow, has been a rewarding challenge.
Budget Review: Keeping on Track
On the budget front, I've made some tweaks to my Power BI report, adding visual cues for time progression and custom tooltips for expense details. The budget is back on track, but there's always that looming desire for a bit more financial breathing room.
No Progress on My App... Yet
This week, my own app took a backseat as I focused on honing my Swift skills. I'm eagerly awaiting the lessons on SwiftData before diving back into app development.