There are some things in in Objective-C that just bug me. They’re generally pretty small, but I find my self correcting in a lot of different projects. For instance, working with JSON frequently means you probably use NSJSONSerialization
, and you may note that if a JSON key returns null, it will be put into the resulting object as [NSNull null]
. Try sending [NSNull null]
a message, and you get an exception… so we’re back to checking for null, which is what nil
is supposed to save us from.
To get around this, I’ve created a Cocoapod (check it out on GitHub) which currently contains a few categories I find myself using over and over:
NSDictionary+ValueCheck
– which has a method that checks if a key exists, and if it is not NSNull
NSDate+RelativeTime
– which has self explanatory methods likeisBefore
andisAfter
, as well as a method that allows you to easily add days, months, hours, whatever to anNSDate
NSArray+Reverse
– which provides a method returning a reversed version of the array
All these categories are thoroughly tested (look for yourself!), and generally serve to make my code more readable and elegant. Lightweight, and easy to add to your project: just add
pod "SBCategories", :git => 'https://github.com/schrockblock/SBCategories'
to your Podfile and you’re good to go!