This Week...


Did you know that UIAlertView and UIActionSheet (as well as their respective delegate protocols) are deprecated in iOS 8? It's true.

Continue Reading

Recent Articles

Swift Comparison Protocols

Objective-C required us to wax philosophic about the nature of equality and identity. To the relief of any developer less inclined towards handwavy treatises, this is not as much the case for Swift.


Yesterday's article described various techniques for resizing images using APIs from the UIKit, Core Graphics, Core Image, and Image I/O frameworks. However, that article failed to mention some rather extraordinary functionality baked into the new Photos framework which takes care of all of this for you.

Image Resizing Techniques

Since time immemorial, iOS developers have been perplexed by a singular question: 'How do you resize an image?'. This article endeavors to provide a clear answer to this eternal question.


Swift enumerations are a marked improvement over the NS_ENUM macro in Objective-C. Unfortunately, NS_OPTIONS does not compare as favorably.

Swift Default Protocol Implementations

Protocols are the foundation of generics in Swift, but suffer from the lack of a built-in way to provide default implementations for methods. However, there is an interesting workaround in Swift that you probably haven't noticed.


iOS has a complicated relationship with the web. And it goes back to the very inception of the platform nearly a decade ago.


NSHipster: Obscure Topics in Cocoa & Objective-C NSHipster: Obscure Topics in Cocoa & Objective-C
CFHipsterRef: Low-Level Programming on iOS & OS X CFHipsterRef: Low-Level Programming on iOS & OS X
The NSHipster Fake Book (Objective-C) The NSHipster Fake Book (Objective-C)