Topic

Category

A browsable archive of writing and notes across the site.

Post

UserDefaults and Keychain

Apple offers several persistence options, and UserDefaults and Keychain are the two you reach for most often in day-to-day app development. From past conversations with colleagues …

Post

In-app purchase

If your app ships on the App Store, in-app purchase (IAP) is something you can’t really avoid. Last year’s spat between WeChat tipping and Apple put IAP in the …

Post

Understanding responders and the responder chain

Apps receive and handle events through responder objects. A responder is an instance of the UIResponder class — and UIView, UIViewController, and UIApplication, all the usual …

Post

Capturing objects in Swift closures

Original: Capturing objects in Swift closures Original author @johnsundell Ever since blocks were introduced to Objective-C in iOS 4, they’ve been a core part of the most …

Post

@autoclosure && @escape

Closures are first-class citizens in Swift, which means you can pass them around as arguments. While learning Swift, you keep running into keywords that decorate these closure …

Post

Everything you need to know about iOS 10 notifications

Overview Push notifications are something we’re all familiar with — pretty much anyone with a smartphone gets interrupted by them every day. The right notification is a …

Post

Building an elastic view animation with UIBezierPath

Original: Elastic view animation, or how I built DGElasticPullToRefresh Author: @gontovnik DGElasticPullToRefresh demonstrates a springy elastic effect. Here’s what it looks …

Post

A bit about Category in Objective-C

A category in Objective-C is a compile-time mechanism that lets you tack extra methods onto an existing class. There’s one catch: you can’t add new instance variables …