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 7. Adding and Deleting Selfies

We now have a workable UI for viewing all the selfies, but we don’t have any way to add new selfies or to delete existing ones. Selfiegram won’t really be much of an app if the only selfies inside it are those we created as part of the tests—it’s time to change that.

Deleting Selfies

First we will make the changes necessary to delete selfies. We are doing this first because it is easier. We will be writing some code that allows us to use the standard iOS swipe-to-delete behavior, which you may have seen in the mail app. To do this we will need to use two different table view data source methods, tableView(_ canEditRowAt indexPath:) and tableView(_ commit editingStyle: forRowAt indexPath:). The first of these returns a Bool; if the Bool is true the table view allows deletion of that row, and if it’s false it blocks it. The second is called once an edit has been made. In our case the edit will always be a deletion, but this is the same method that gets called for any edit, including cell rearrangement:

  1. Implement the canEditRowAt indexPath: method:

    override func tableView(_ tableView: UITableView,
                            canEditRowAt indexPath: IndexPath) -> Bool
    {
        return true
    }

    As we allow for every selfie to be deleted all we are doing in here is returning true, but if you do need to control this the indexPath parameter is included for this purpose.

  2. Implement the commit editingStyle: forRowAt indexPath: method:

    override func tableView(_ tableView: UITableView ...
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