Author

Avatar image

Matt Neuburg

Senior Mobile Engineer

Matt has been writing and updating his well-known iOS programming books every year since 2010, and is widely considered a foremost educator about Swift, Xcode, and Cocoa. He has also written the definitive guide to AppleScript, as well as some other programming languages. He makes tech topics not only readable but enjoyable. Matt is also a former Classics professor. This means he can read Ancient Greek, which rarely comes up in iOS programming, but is really cool.

Published Posts

Collection View Content Configuration in iOS 14

In a series of earlier articles, I introduced the iOS 14 cell content configuration architecture. My examples consisted entirely of table view cells, but I was careful to point out that exactly the same thing applies to collection view cells because UICollectionViewCell has contentConfiguration and backgroundConfiguration properties, just like UITableViewCell. A collection view cell, unlike …

Collection View Content Configuration in iOS 14 Read More »


Rant: Swift, Cocoa, Target–Action, and Instance Property Initialization

As someone who spends a lot of time hanging out on Stack Overflow, I get to see first hand what traps iOS Cocoa programmers fall into. In fact, that’s why I spend a lot of time hanging out on Stack Overflow. It’s fun and instructive. But it also pains me to see people making the …

Rant: Swift, Cocoa, Target–Action, and Instance Property Initialization Read More »


Tricks for Testing External Links

On iOS, there is no deep mechanism for interapplication communication such as macOS provides through Apple events. Your app is sandboxed; other apps cannot drive it. There is, however, a simple and safe mechanism for letting another app send small messages to your app, namely through external links. We are all familiar with links. Suppose …

Tricks for Testing External Links Read More »


The Developer’s Guide to Cell Background Configuration in iOS 14

In an earlier article, I introduced iOS 14’s new content configuration architecture. As I showed in that article, this architecture is useful particularly in a cell, meaning a UITableViewCell or a UICollectionViewCell: A cell has a contentConfiguration property; whatever content view the cell’s content configuration creates, the cell makes that its own contentView, automatically. To …

The Developer’s Guide to Cell Background Configuration in iOS 14 Read More »


The Developer’s Guide to User-Interactive Cell Configurations in iOS 14

In an earlier article, I introduced iOS 14’s new content configuration architecture. You have a UIContentConfiguration object and a UIContentView, and they go together. Configuring the content configuration object expresses the data you want represented; the configuration object then generates the content view, which constructs the interface that displays that data. A UITableViewCell or a …

The Developer’s Guide to User-Interactive Cell Configurations in iOS 14 Read More »


The Developer’s Guide to List Content Views in iOS 14

In an earlier article, I introduced iOS 14’s new content configuration architecture. You have a UIContentConfiguration object and a UIContentView, and they go together. Configuring the content configuration object expresses the data you want represented; the configuration object then generates the content view, which constructs the interface that displays that data. As I showed in …

The Developer’s Guide to List Content Views in iOS 14 Read More »


The Developer’s Guide to Cell Content Configuration in iOS 14

Have you ever written table view code like this? override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { let cell = tableView.dequeueReusableCell(withIdentifier: cellID, for: indexPath) let label = // … label.text = “Hello, world” return cell } Looks simple and innocent enough, but there’s something very wrong with it, philosophically speaking. This is …

The Developer’s Guide to Cell Content Configuration in iOS 14 Read More »


The iOS Developer’s Guide to Updating an App to iOS14

Each year, like clockwork, for better or worse — sometimes, in my opinion, very much for worse — Apple releases a new version of iOS. We’re all used to the forced march of the calendar by now. In June, WWDC is held, and the new version appears in beta. In September, it goes final. And …

The iOS Developer’s Guide to Updating an App to iOS14 Read More »