Categories are nice. So basically it’s like subclassing, but all the enhancements go onto the original class, not a new class with a new name.
Question… is it possible to override the original class’ methods?
For example, could NSString+VowelCounting redefine NSString’s init method so that it isn’t an empty string by default? If that is possible, would you need to call the original class’s init method from the new init method (like you would call [super init] if it were a subclass)?
I half expect the answer to this question to be “no - that’s what subclassing is for”, but it would be good to know.