Skip to Main Content
Learning Swift, 3rd Edition
book

Learning Swift, 3rd Edition

by Jonathon Manning, Paris Buttfield-Addison, Tim Nugent
March 2018
Beginner content levelBeginner
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.
Start your free trial

You might also like

Learning To Program With Swift

Learning To Program With Swift

T. Rogers

Publisher Resources

ISBN: 9781491987568Errata Page