Day 85
Day 85 ๊ด๋ จ
Project 16, part 7
The British mathematician Isaac Newton once said, โif I have seen further it is by standing on the shoulders of giants.โ Thatโs a pretty humble view to take for someone who is one of the most influential scientists of all time!
I think the same is very much true of working with Appleโs APIs. Could I have written Create ML myself? Or UIKit? Or MapKit, or Core Image, or UserNotifications? Maybe one of them, and perhaps if I had a lot of help two of them, but itโs pretty unlikely.
Fortunately, I donโt need to, and neither do you: Appleโs vast collection of APIs means we too are standing on the shoulders of giants. Even things like handling dates well is a huge amount of work, but itโs something we donโt need to worry about because Apple already solved it for us.
So, seize this amazing opportunity! Build something great that combines two, three, or more frameworks and then add your own customizations on top. Itโs those final steps that really set your app apart from the pack, and where you add your own value.
Today you should work through the wrap up chapter for project 16, complete its review, then work through all three of its challenges.
Hot Prospects: Wrap up
Hot Prospects: Wrap up
This was our largest project yet, but the end result is another really useful app that could easily form the starting point for a real conference. Along the way we also learned about custom environment objects, TabView
, Result
, image interpolation, context menus, local notifications, Swift package dependencies, and so much more โ itโs been packed!
Weโve explored several of Appleโs other frameworks now โ Core ML, MapKit, Core Image, and now UserNotifications โ so I hope youโre getting a sense of just how much we can build just by relying on all the work Apple has already done for us.
Review what you learned
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.
Challenge
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.
- Add an icon to the โEveryoneโ screen showing whether a prospect was contacted or not.
- Add an editing screen, so users can adjust the name and email address of someone they scanned previously. (Tip: Use the simple form of
NavigationLink
rather thannavigationDestination()
, to avoid your list selection code confusing the navigation link.) - All users to customize the way contacted are sorted โ by name or by most recent.
Hot Prospects: Wrap up - Additional