Updated for Xcode 12.5
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 ViRE offers discoverable way of working with regex. It provides really readable regex experience, code complete & cheat sheet, unit tests, powerful replace system, step-by-step search & replace, regex visual scheme, regex history & playground. ViRE is available on Mac & iPad.
Link copied to your pasteboard.