MKGeodesicPolyline
We knew that the Earth was not flat long before 1492. Early navigators observed the way ships would dip out of view over the horizon many centuries before the Age of Discovery.For many iOS developers,...
View ArticleIBAction / IBOutlet / IBOutletCollection
In programming, what often begins as a necessary instruction eventually becomes a vestigial cue for humans. In the case of Objective-C, #pragma directives, method type encodings, and all but the most...
View ArticleNSHipster Quiz #5
This past weekend, I had the honor of speaking at NSNorth, in Ottawa, Ontario. The conference focused on the aspects of community, culture, and family in programming, and I cannot think of a conference...
View ArticleBenchmarking
Abstractions are necessary for doing meaningful work, but they come at a cost. To work at a high level is to turn a blind eye to nonessential details in order to reason with larger logical chunks....
View ArticleCocoaPods
Civilization is built on infrastructure: roads, bridges, canals, sewers, pipes, wires, fiber. When well thought-out and implemented, infrastructure is a multiplying force that drives growth and...
View ArticleCFHipsterRef Update
Today's a big day for NSHipster, and I have some important and exciting news to share.Before I get into all of that, though, I wanted to thank everyone for their enthusiasm about CFHipsterRef, and...
View ArticleNSHipster Quiz #6
On June 3rd, we organized the second annual WWDC edition of the NSHipster Pub Quiz. Keeping in its tradition, questions ranged from random Apple trivia to obscure technical questions. For the second...
View ArticleiOS 8
Ask anyone, and they'll tell you: WWDC 2014 was the one of the most exciting in recent memory. It was, first and foremost, a developer event, with nary a hardware announcement to upstage the latest...
View ArticleClang Diagnostics
Diagnostics combine logic with analytics to arrive at a conclusion. It's science and engineering at their purest. It's human reasoning at its most potent.Within the medical profession, a diagnosis is...
View ArticleNSCalendarUnitYear
NSHipster.com was launched 2 years ago to the day, with a little article about NSIndexSet. Each week since has featured a new article on some obscure topic in Objective-C or Cocoa (with only a couple...
View ArticleXCTestCase / XCTestExpectation / measureBlock()
Although iOS 8 and Swift has garnered the lion's share of attention of the WWDC 2014 announcements, the additions and improvements to testing in Xcode 6 may end up making some of the most profound...
View ArticleSwift Documentation
Code structure and organization is a matter of pride for developers. Clear and consistent code signifies clear and consistent thought. Even though the compiler lacks a discerning palate when it comes...
View ArticleAlamofire
Swift has hit a reset button on the iOS developer community. It's really been something to behold for seasoned Objective-C developers.Literally overnight, conversations shifted from namespacing and...
View ArticleSwift Operators
What would a program be without statements? A mish-mash of classes, namespaces, conditionals, loops, and namespaces signifying nothing.Statements are what do the work of a program. They are the very...
View ArticleSwift Literal Convertibles
Last week, we wrote about overloading and creating custom operators in Swift, a language feature that is as powerful as it is controversial.By all accounts, this week's issue threatens to be equally...
View ArticleWKWebView
iOS has a complicated relationship with the web. And it goes back to the very inception of the platform nearly a decade ago.It's difficult to appreciate just how differently the first iPhone could have...
View ArticleSwift Default Protocol Implementations
Swift was announced 3 months ago to the day. For many of us, it was among the most shocking and exciting events in our professional lives. In these intervening months, it's safe to say our collective...
View ArticleRawOptionSetType
In Objective-C, NS_ENUM& NS_OPTIONS are used to annotate C enums in such a way that sets clear expectations for both the compiler and developer. Since being introduced to Objective-C with Xcode...
View ArticleImage Resizing Techniques
Since time immemorial, iOS developers have been perplexed by a singular question: "How do you resize an image?". It is a question of beguiling clarity, spurred on by a mutual mistrust of developer and...
View ArticlePHImageManager
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...
View Article