Skip to main content

Day 69

About 2 minSwiftcrashcoursepaul-hudsonswifthacking-with-swiftxcodeappstore

Day 69 ๊ด€๋ จ


100 Days of Swift - Day 69

Project 19, part three

Project 19, part three

Youโ€™ve modified Safari! Appleโ€™s web browser has been there since the very first iPhone, and now youโ€™ve hooked your own code directly into it. Youโ€™ll be taking on a few challenges today to encourage you to think of ways to use your new-found power, but I hope you can immediately realize the potential here โ€“ even a small improvement can make a difference to millions of people.

I know this project was hard, but I have some bad news for you: tomorrowโ€™s game is also hard. But as Kimberly Guilfoyle said, โ€œthrough determination and self-focus and discipline, you can accomplish anything.โ€

Stick with it! Things get easier after the next game, but your skillset continues to expand rapidly.

Today you should work through the wrap up chapter for project 19, complete its review, then work through all three of its challenges.

Wrap up
100 Days of Swift - Day 69 - Wrap up

Wrap up

I'll tell you what: I'm feeling tired and I didn't even have to learn anything to write this project โ€“ I can't imagine how tired you are! But please don't be too disheartened: this project builds the the bridge between JavaScript and Swift, and now that bridge is built you can add your own Swift functionality on top.

Some of the code isn't pleasant to work with, and certainly I wish iOS would just figure out text view insets automatically for keyboards, but you're through it now so your project is done. Even though this was a hard project, I did cut quite a few corners to make the code as easy as possible, so again I want to encourage you to try creating another extension and see how Apple's example code is different from mine.

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 project 19.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 your new knowledge to make sure you fully understand whatโ€™s going on:

  1. Add a bar button item that lets users select from a handful of prewritten example scripts, shown using a UIAlertController โ€“ at the very least your list should include the example we used in this project.
  2. You're already receiving the URL of the site the user is on, so use UserDefaults to save the user's JavaScript for each site. You should convert the URL to a URL object in order to use its host property.
  3. For something bigger, let users name their scripts, then select one to load using a UITableView.

Thatโ€™s another project finished, and one that gives you the foundations for some major new projects of your own โ€“ share your progress with the world!


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