Skip to main content

Day 85

About 2 minSwiftcrashcoursepaul-hudsonswiftswiftuihacking-with-swiftxcodeappstore

Day 85 ๊ด€๋ จ


100 Days of SwiftUI - Day 85

Project 16, part 7

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
100 Days of SwiftUI - 85 - 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.open in new window

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.

  1. Add an icon to the โ€œEveryoneโ€ screen showing whether a prospect was contacted or not.
  2. 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 than navigationDestination(), to avoid your list selection code confusing the navigation link.)
  3. All users to customize the way contacted are sorted โ€“ by name or by most recent.

์ด์ฐฌํฌ (MarkiiimarK)
Never Stop Learning.