Greetings, NSHipsters!
As we prepare to increment our NSDateComponents -year
by 1
, it's time once again for NSHipster end-of-the-year Reader Submissions! Last year, we got some mind-blowing tips and tricks. With the release of iOS 7 & Mavericks, and a year's worth of new developments in the Objective-C ecosystem, there should be a ton of new stuff to write up for this year.
Submit your favorite piece of Objective-C trivia, framework arcana, hidden Xcode feature, or anything else you think is cool, and you could have it featured in the year-end blowout article. Just comment on this gist below!
Here are a few examples of the kind of things I'd like to see:
- Using
NSStringFromSelector(@selector())
as a safer way to do KVC / KVO / NSCoding. - Panic's rather surprising discovery about the internals of the Lightning Digital AV Adapter
- This brilliant write-up deriving block syntax from C declarators by @nilsou, or @lazerwalker's more to-the-point site, "Fucking Block Syntax"
Can't wait to see what y'all come up with!
Protect your class from default initializers by marking init and new as unavailable. You can also provide a custom string that the compiler will display if somebody tries to use one.
-(instancetype) init attribute((unavailable("Please use initWithString")));
+(instancetype) new attribute((unavailable("Please use initWithString")));