I hope this technique project helped you feel more comfortable with navigation in SwiftUI, because it lies at the core of practically every app you'll build.
Yes, some bits like Hashable
might not make complete sense at first, but for the time being all you really need to know is that it's a requirement – Swift can do most of the work for us when we use structs, so just adding protocols such as Hashable
, Codable
, and Equatable
is usually enough.
Later on we'll be looking at another style of navigation that works better on larger devices, but for now you're done – great job!
Anyone can sit through a tutorial, but it takes actual work to remember what was taught. It’s my job to make sure you take as much from these tutorials as possible, so I’ve prepared a short review to help you check your learning.
Click here to review what you learned in this project.
One of the best ways to learn is to write your own code as often as possible, so here are three ways you should try extending this app to make sure you fully understand what’s going on.
NavigationLink
for adding new expenses rather than a sheet. (Tip: The dismiss()
code works great here, but you might want to add the navigationBarBackButtonHidden()
modifier so they have to explicitly choose Cancel.)NavigationLink(value:)
. This means adding Hashable
conformance, and thinking carefully how to use navigationDestination()
.Hacking with Swift+ subscribers can get a complete video solution for this checkpoint here: Solution to Navigation. If you don’t already subscribe, you can start a free trial today.
SAVE 50% All our books and bundles are half price for Black Friday, so you can take your Swift knowledge further without spending big! Get the Swift Power Pack to build your iOS career faster, get the Swift Platform Pack to builds apps for macOS, watchOS, and beyond, or get the Swift Plus Pack to learn advanced design patterns, testing skills, and more.
Link copied to your pasteboard.