ios


Rant: Xcode and the Protocol Paradox

This is a rant about an extremely useful Xcode feature that completely stops working just when you most need it to work. At the risk of giving the whole story away right at the start, I’ll just give the whole story away right at the start! The useful feature is Xcode’s ability to show you …

Rant: Xcode and the Protocol Paradox Read More »


More About Split View Controllers in iOS 14

In an earlier article, I talked about how split view controllers (UISplitViewController) have been completely revamped in iOS 14. In particular, they “adapt” to the environment’s horizontal size class in a whole new way. A two-part split view has three “columns”, but they are not all displayed at the same time: The .primary and .secondary …

More About Split View Controllers in iOS 14 Read More »


Split View Controllers Done Right in iOS 14

A split view controller (UISplitViewController) is a pretty cool thing. It allows you to divide the large iPad screen into two parts, each of which is managed by a view controller in its own right. Typically, these are a master view controller and a detail view controller: on one side, the master side, is a …

Split View Controllers Done Right in iOS 14 Read More »


Sherlock Holmes and the Mystery of the Untappable Button

This is a fairly commonly-asked question that I encounter on Stack Overflow: My button (or some other user-interactive view) doesn’t respond when I tap it. And naturally enough, I have a commonly-given answer to go with it. In fact, I have a kind of catechism for helping people debug this situation. Even experienced developers can …

Sherlock Holmes and the Mystery of the Untappable Button Read More »


Diffable Data Sources and Data Storage — Part 2

This is the second part of a two-part article about iOS diffable data sources. If you haven’t read the first part, please go back and read it now! Inside and Outside In the first part of this article, I created a table view whose data source consisted simply of the names of the U.S. states, …

Diffable Data Sources and Data Storage — Part 2 Read More »


Diffable Data Sources and Data Storage — Part 1

When I first started programming iOS (back in iOS 3.2), many of my apps revolved around table views (UITableView). At first, I was surprised by how Apple makes you supply the data to a table view. You don’t just store all the data in the table view. Instead, there’s a separate object, the data source …

Diffable Data Sources and Data Storage — Part 1 Read More »


Collection View Outlines in iOS 14

In an earlier article, I introduced collection view lists, new in iOS 14, which allow a collection view, or a section of a collection view, to imitate a table view. Collection view lists are the basis for yet another new iOS 14 feature: outlines. As Lovely as a Tree An outline is a way of …

Collection View Outlines in iOS 14 Read More »


Collection View Lists in iOS 14, Part 2

In an earlier article, I introduced collection view lists, a new feature of iOS 14. I showed how you can easily make a collection view that looks pretty much just like a table view. Now I’d like to talk about some additional table view appearances and behaviors and how collection view lists implement them. List …

Collection View Lists in iOS 14, Part 2 Read More »