NEW! Master Swift design patterns with my latest book! >>

< Previous: Overview   Next: Automatically resizing UITableViewCells with Dynamic Type and NSAttributedString >

Setting up

I hope you're all set for a massive project, because this one is going to cram a lot in. In this project, you're going to make an app for this tutorial series, Hacking with Swift – very meta, I know. The app is going to list all the projects and let users choose which ones they favorite, which by itself sounds like the kind of thing we might have done in project 7 or so.

So how come it's way back here as project 32? Simple: when users favorite a project, we're going to store that in Core Spotlight so they can find it later. And when they view a project, we'll use the SFSafariViewController class for them to read, which lets you embed Safari right inside your app. If those two new features weren't enough for you, I'm going to throw in a little bit of UITableViewCell automatic sizing, a little bit of Dynamic Type and even some attributed strings to handle formatted string drawing.

Are you feeling it now? I hope so. Please go ahead and create a new project in Xcode, choosing the Single View App template. Name it Project32, then choose Swift for your language.

Get the ultimate experience

The Swift Power Pack includes my first six books for one low price, helping you jumpstart a new career in iOS development – check it out!

< Previous: Overview   Next: Automatically resizing UITableViewCells with Dynamic Type and NSAttributedString >
MASTER SWIFT NOW
Buy Practical iOS 12 Buy Pro Swift Buy Swift Design Patterns Buy Practical iOS 11 Buy Swift Coding Challenges Buy Server-Side Swift (Vapor Edition) Buy Server-Side Swift (Kitura Edition) Buy Hacking with macOS Buy Advanced iOS Volume One Buy Hacking with watchOS Buy Hacking with tvOS Buy Hacking with Swift Buy Dive Into SpriteKit Buy Swift in Sixty Seconds Buy Objective-C for Swift Developers Buy Beyond Code

Was this page useful? Let me know!

Click here to visit the Hacking with Swift store >>