WWDC22 SALE: Save 50% on all my Swift books and bundles! >>

What you learned

Projects 7, 8, and 9 were the first in the series I consider to be “hard”: you had to parse JSON data, you had to create a complex layout for 7 Swifty Words, and you took your first steps towards creating multithreaded code – code that has iOS do more than one thing at a time.

None of those things were easy, but I hope you felt the results were worth the effort. And, as always, don’t worry if you’re not 100% on them just – we’ll be using Codable and GCD more in future projects, so you’ll have ample chance to practice.

  • You’ve now met UITabBarController, which is another core iOS component – you see it in the App Store, Music, iBooks, Health, Activity, and more.
  • Each item on the tab bar is represented by a UITabBarItem that has a title and icon. If you want to use one of Apple’s icons, it means using Apple’s titles too.
  • We used Data to load a URL, with its contentsOf method. That then got fed to JSONDecoder so that we could read it in code.
  • We used WKWebView again, this time to show the petition content in the app. This time, though, we wanted to load our own HTML rather than a web site, so we used the loadHTMLString() method.
  • Rather than connect lots of actions in Interface Builder, you saw how you could write user interfaces in code. This was particularly helpful for the letter buttons of 7 Swifty Words, because we could use a nested loop.
  • In project 8 we used property observers, using didSet. This meant that whenever the score property changed, we automatically updated the scoreLabel to reflect the new score.
  • You learned how to execute code on the main thread and on background threads using DispatchQueue, and also met the performSelector(inBackground:) method, which is the easiest way to run one whole method on a background thread.
  • Finally, you learned several new methods, not least enumerated() for looping through arrays, joined() for bringing an array into a single value, and replacingOccurrences() to change text inside a string.
Save 50% in my Black Friday sale.

SAVE 50% To celebrate WWDC22, all our books and bundles are half price, so you can take your Swift knowledge further without spending big! Get the Swift Power Pack to build your iOS career faster, get the Swift Platform Pack to builds apps for macOS, watchOS, and beyond, or get the Swift Plus Pack to learn advanced design patterns, testing skills, and more.

Save 50% on all our books and bundles!

Sponsor Hacking with Swift and reach the world's largest Swift community!

BUY OUR BOOKS
Buy Pro Swift Buy Swift Design Patterns Buy Testing Swift Buy Hacking with iOS Buy Swift Coding Challenges Buy Swift on Sundays Volume One Buy Server-Side Swift (Vapor Edition) Buy Advanced iOS Volume One Buy Advanced iOS Volume Two Buy Advanced iOS Volume Three Buy Hacking with watchOS Buy Hacking with tvOS Buy Hacking with macOS Buy Dive Into SpriteKit Buy Swift in Sixty Seconds Buy Objective-C for Swift Developers Buy Server-Side Swift (Kitura Edition) Buy Beyond Code

Was this page useful? Let us know!

Average rating: 5.0/5

 
Unknown user

You are not logged in

Log in or create account
 

Link copied to your pasteboard.