Here’s what keeps me awake when I drive. Read More
Every year Apple has been making Objective C and Xcode easier and easier to be picked up by developers like me – coming from a background in high-level OO languages (ActionScript, Java) with little to no experience in C – people for whom terms like “memory management” evoke images of creepy dark things crawling from under the shadows of our beds at night. Still, Objective-C is basically an OO scaffolding to make C into an OO language, and as we have been learning through our development projects, there is plenty of history (or “baggage” as one of my CS engineer colleagues likes to say – he has the C background from back in the day that I don’t) as a result of C being a very old language. The end result is, while we are able to jump in and crank out working applications, there seems to be always plenty to learn – there are lots of quirks and new twists that someone like me just isn’t used to. The one I want to highlight today is Categories in Objective C.
Categories are the easiest way to modify existing classes in Objective C. And why not just extend the class like we would in any other OO language? Here’s why (from the apple docs):
Furthermore, it might not make sense to subclass the existing class, because you may want your drawing behavior available not only to the original NSString class but also any subclasses of that class, like NSMutableString. And, although NSString is available on both OS X and iOS, the drawing code would need to be different for each platform, so you’d need to use a different subclass on each platform.
@flexRonin nice. I’d strongly suggest to always prefix methods in categories with a three letter prefix to avoid collisions.
This is the best time to jump on the iOS bandwagon since the App store was opened to developers.
I held off diving into learning C, Objective C, and native iOS development for a long time. There were a number of things that made the task seem daunting, and some carrots that Adobe had dangled in front of us Flash platform developers that made it seem unnecessary at first. In retrospect, it’s a good thing I waited, and furthermore now is the best time for Flash platform developers who haven’t yet gotten into native iOS to dive in headfirst. Read More