Extending Classes Without Subclassing: A Practical Look at Objective-C Categories
Objective-C categories let you add methods to classes you don't own — no subclassing required. Here's how to use them safely, including prefixes, the no-ivars limit, and associated objects.