NSHipster is a journal of the overlooked bits in Objective-C, Swift, and Cocoa. Updated weekly.

This Week...

Swift Property Observers

Modern software development has become what might be seen as the quintessence of Goldbergian contraption. Yet there are occasions when action-at-a-distance may do more to clarify rather than confound.

Continue Reading

Updated and Expanded


The concept of equality is a central topic in philosophy and mathematics, with far-reaching implications for matters of ethics, justice, and public policy. Our task as programmers is to reconcile our logical and physical understanding of equality with the domains we model.

Continue Reading

Recent Articles

Hashable / Hasher

Our topic this week is Hashable and its new related type, Hasher. Together, they comprise the functionality underlying two of Swift’s most beloved collection classes: Dictionary and Set


Machine learning has been at the heart of natural language processing in Apple platforms for many years, but it’s only recently that external developers have been able to harness it directly.


Making a claim that something will never be the case can feel like an invitation for the universe to prove otherwise. Fortunately for us, Swift lives up to this higher standard thanks to the unlikeliest of types.

Bug Reporting

If you’ve ever been told to “file a Radar” and wondered what that meant, this week’s article has just the fix.

Swift GYB

Not all code can be glamorous. In fact, a lot of the low-level infrastructure that makes everything work is a slog of boilerplate.