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.In...
View ArticleUIAlertController
Did you know that UIAlertView and UIActionSheet (as well as their respective delegate protocols) are deprecated in iOS 8?It's true. ⌘-click on UIAlertView or UIActionSheet in your code, and check out...
View ArticleSwift System Version Checking
While it's not accurate to say that Swift is "Objective-C without the C", it's for lack of resemblance to Objective-C, not the absence of C. Swift is vehementlynot C.Swift certainly draws inspiration...
View ArticleInter-Process Communication
In many ways, the story of Apple has been about fusing together technologies through happy accidents of history to create something better than before: OS X as a hybrid of MacOS & NeXTSTEP....
View ArticleCMDeviceMotion
Beneath the smooth glass of each shiny iPhone, nestled on a logic board between touch screen controllers and Apple-designed SoCs, the gyroscope and accelerometer sit largely neglected.Need it be so?...
View ArticleUISplitViewController
The introduction of iPhone 6+ brought on a new importance for UISplitViewController. With just a few little tweaks, an app can now become Universal, with Apple handling most of the UI logic for all the...
View ArticleCore Location in iOS 8
For as long has the iPhone has existed, location services have been front and center. Maps.app was one of the killer features that launched with the original iPhone. The Core Location API has existed...
View ArticleUIPrintInteractionController
With all the different means to comment, mark up, save, and share right at our fingertips, it's easy to overlook the value of a printed sheet of paper.UIKit makes it easy to print straight from a...
View ArticleWatchKit
Everyone is excited about ᴡᴀᴛᴄʜ. Developers especially.What's the best way to get started? Look no further than Apple's WatchKit developer resources.Watch the "Getting Started" video—it's like being...
View ArticlePay
There's a unique brand of modern angst that manifests the moment you decide to buy something online. While there's no English word for it, it translates roughly to "Where is my credit card? What is its...
View ArticleNSUndoManager
We all make mistakes. Thankfully, Foundation comes to our rescue for more than just our misspellings. Cocoa includes a simple yet robust API for undoing or redoing actions through NSUndoManager.By...
View ArticleThe Death of Cocoa
Cocoa is the de facto standard library of Objective-C, containing many of the essential frameworks for working in the language, such as Foundation, AppKit, and Core Data. Cocoa Touch is basically just...
View ArticleReader Submissions - New Year's 2015
As we take a moment to reflect on our experiences over the past year, one thing is clear: 2014 was an incredible year professionally for Apple developers. So much has happened in such a short timespan,...
View ArticleChanging of the Guard
I started NSHipster in the summer of 2012. What began as a snarky writing exercise to capture observations from my daily interactions with Cocoa & Objective-C became a full-time passion for...
View ArticleLong Live Cocoa
It's the start of a new year—2015, the year of Watch, the first full year for Swift, and a bit of a new start for NSHipster. Before we get caught up in the excitement of new devices and the next beta...
View ArticleJavaScriptCore
An updated ranking of programming language popularity is out this week, showing Swift leaping upward through the ranks from 68th to 22nd, while Objective-C holds a strong lead up ahead at #10. Both,...
View ArticleSwift & the Objective-C Runtime
Even when written without a single line of Objective-C code, every Swift app executes inside the Objective-C runtime, opening up a world of dynamic dispatch and associated runtime manipulation. To be...
View ArticleIBInspectable / IBDesignable
Show, don't tell. Seeing is believing. A picture is worth a thousand emails words. Whatever the cliché, replacing an interface that requires us to memorize and type with one we can see and manipulate...
View ArticleSwift 1.2
Swift, true to its name, is moving fast. This week marks the beta release of Swift 1.2, a major update to the language. The Swift team has responded to so many of the community's requests in one fell...
View ArticleSwift Collection Protocols
Swift has a well-designed and expansive suite of built-in collection types. Beyond Array, Dictionary, and the brand new Set types, the standard library provides slices, lazy collections, repeated...
View Article