when swizzling, be sure to check encoding
Just a cautionary tale : I swizzled tableView_heightForRowAtIndexPath to allow variable sized table view cells. the return type is CGFloat, which on my 32 bit device is a float, encoded as 'f'. However on 64 bit devices, CGfloat is a double! Thus producing garbage or crashes.
so, be careful when swizzling any objc methods that take CGFloat, you need to check for 64 bit, or better yet check the encoding of another method which returns the same type.