NSOrderedSet
Here’s a question: why isn’t NSOrderedSet a subclass of NSSet?It seems perfectly logical, after all, for NSOrderedSet–a class that enforces the same uniqueness constraint of NSSet–to be a subclass of...
View ArticleKVC Collection Operators
Rubyists laugh at Objective-C’s bloated syntax.Although we lost a few pounds over the summer with our sleek new object literals, those Red-headed bullies still taunt us with their map one-liners and...
View Articleinstancetype
Want to know what’s coming next in Objective-C? Keep your ear to the ground.Objective-C is a rapidly evolving language, in a way that you just don’t see in established programming languages. ARC,...
View ArticleCGGeometry
Unless you were a Math Geek or an Ancient Greek, Geometry was probably not your favorite subject in high school. No, chances are that you were that kid in class who dutifully programmed all of the...
View ArticleReader Submissions - New Year's 2013
In celebration of the forthcoming year++, I thought it’d be fun to compile a list of some of your favorite tips and tricks of the trade–to give y’all a chance to show off some of your NSHipster...
View Articlenil / Nil / NULL / NSNull
Understanding the concept of nothingness is as much a philosophical issue as it is a pragmatic one. We are inhabitants of a universe of somethings, yet reason in a logical universe of existential...
View Article__attribute__
A recurring theme of this publication has been the importance of a healthy relationship with the compiler. Like any craft, one's effectiveness as a practitioner is contingent on how they treat their...
View ArticleNSLocalizedString
Strings are perhaps the most versatile data type in computing. They're passed around as symbols, used to encode numeric values, associate values to keys, represent resource paths, store linguistic...
View ArticleNSValue
As part of playing the role of Abraham Lincoln in the eponymous 2012 biopic, Daniel Day-Lewis would insist on walking through a refrigerator box marked "TIME MACHINE" anytime he entered or left the...
View ArticleType Encodings
From number stations and numerology to hieroglyphs and hobo codes, there is something truly fascinating about finding meaning that hides in plain sight. Though hidden messages in and of themselves are...
View ArticleNSURLCache
NSURLCache provides a composite in-memory and on-disk caching mechanism for URL requests to your application. As part of Foundation's URL Loading System, any request loaded through NSURLConnection will...
View ArticleReactiveCocoa
Languages are living things. They are nudged and challenged and bastardized and mashed-up in a perpetual cycle of undirected and rapid evolution. Technologies evolve, requirements change, corporate...
View ArticleNSAssertionHandler
"When at first you don't succeed, use an object-oriented injection point to override default exception handling." This is the sort of advice you would have learned at mother's knee if you were raised...
View ArticleBack Row
For years, many have predicted the announcement of an Apple TV SDK. We all know it's coming. It has to. And it will be amazing when it happens... whenever that is.Everything is in place for Apple to...
View ArticleUIAppearance
Style vs. Substance. Message vs. Medium. Rhetoric vs. Dialectic. Is beauty merely skin deep, or is it somehow informed by deeper truths? What does it mean for something to posses good design? Are...
View ArticleC Storage Classes
It's time, once again, to take a few steps back from the world of Objective-C, and look at some underlying C language features. Hold onto your fedoras, ladies & gents, as we dive into C storage...
View ArticleSearch Kit
NSHipsters love irony, right? How about this for irony:There's this framework called Search Kit, which despite being insanely powerful and useful for finding information, is something that almost no...
View ArticleiCloud
The Lisa. The Twentieth Anniversary Macintosh. The iPod Hi-Fi. The MacBook Wheel.Each of these products exemplifies Apple's obsessive pursuit of quality as much as its unrivaled ability to anticipate...
View ArticleBOOL / bool / Boolean / NSCFBoolean
We've talked before about the philosophical and technical concerns of nothingness in programming. This week, our attention turns to another fundamental matter: Truth.Truth. Vēritās. The entire charter...
View ArticleNSSecureCoding
A short post for this week: everything you need to know about NSSecureCoding.NSSecureCoding is a protocol introduced in the iOS 6 / Mac OS X 10.8 SDKs. Aside from a few mentions at WWDC, NSSecureCoding...
View Article