Skip to Content
Learning Swift, 3rd Edition
book

Learning Swift, 3rd Edition

by Jonathon Manning, Paris Buttfield-Addison, Tim Nugent
March 2018
Beginner
378 pages
8h 45m
English
O'Reilly Media, Inc.
Content preview from Learning Swift, 3rd Edition

Chapter 14. Image Overlays

Now that we have a replacement for our image picker working it is time to start adding a new feature into Selfiegram. We are going to add in support for overlaying cartoon eyebrows onto the selfie images—after all, what good is a selfie app if it lacks comedic eyebrows? If we were to save the eyebrows into the app itself, any time we wanted to add new eyebrows we’d have to make a new build of the app, so instead we will make it so that the eyebrows are downloaded from a server.

There are quite a few steps involved in this. In this chapter we will be building the model component, which will entail downloading eyebrow images, saving them locally, and presenting an interface that our UI can later talk to. Then in the next chapter we will create the UI to show the list of eyebrows, preview them on a selfie, and save the results.

Note

We are storing our eyebrows in the GitHub repository where we are making our code available. We can get away with this because our server needs are very minimal and we are trying to show off downloading and URL handling in Swift, not proper file server configuration.

Creating the Overlay Model

The basic structure for our overlay model will follow a pattern very similar to how we structured our selfies. There will be an Overlay object that will have the relevant overlay information inside it, which in our case will be three images: a left and a right eyebrow, and a preview image. Unlike the selfies, however, which are saved ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

Swift in Depth

Swift in Depth

Tjeerd in 't Veen
Head First Swift

Head First Swift

Jon Manning, Paris Buttfield-Addison
Swift Cookbook - Second Edition

Swift Cookbook - Second Edition

Keith Moon, Chris Barker

Publisher Resources

ISBN: 9781491987568Errata Page