Updated for Xcode 13.0
I’m not going to claim this was an easy project, particularly because SwiftUI forces us to think in such a different way from UIKit. Not only do we have the declarative, reactive approach to logic, but we also have
@State, environment objects, two-way bindings, and more to deal with – it’s a combination of powerful new Swift language features in tandem with a whole new UI framework.
In this project I’ve tried to expose you to a number of different things all at once, including lists, stacks, forms, navigation, alerts, and more. Even then there’s still a lot more to cover, but even at this early juncture it seems clear to me the goal isn’t to build all apps with SwiftUI: Apple is shipping only a subset of the functionality we need so it has time to bed in before they start adding more.
If you’ve enjoyed this brief exposure to SwiftUI and want to learn more, I have a massive, free course to teach you all about it called the 100 Days of SwiftUI. You can find that here: https://www.hackingwithswift.com/100/swiftui
And if you’d like to see my completed version of this project, you can find it here on GitHub: https://github.com/twostraws/iDine.
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 your new knowledge to make sure you fully understand what’s going on:
CheckoutView, with the options “Now”, “Tonight”, and “Tomorrow Morning”.
ItemDetailand a Favorites tab showing them all.
SPONSORED Join a FREE crash course for iOS devs who want to become complete senior developers — from October 18th to 24th. Learn how to apply iOS app architecture patterns through a series of lectures and practical coding sessions.
Link copied to your pasteboard.