I have a class with several subclasses.
They all override a class method, but I don’t have a specific implementation for the method in the superclass.
Since I can’t just declare it in the interface but I need to implement it as well (to avoid debugger warnings), I was wondering if I can just provide empty implementations of the method in the superclass.
The reason why I’m adding the methods definitions to the superclass is that I’ve a multi-target project, the current application delegate is considered with the specific overridden method:
[(GenericDelegate *)[NSApp delegate] myMethod];
thanks
Yes, this is a perfect normal practice. In fact, it has a name: a “Template Method.” You search for that in the Cocoa documentation.
You will find that Apple also does it occasionally in their own code. The
drawRect:method inUIViewis the first one that comes to mind.So, anyway, yes, if it suits your needs, I would go ahead and do it. Just make sure that you think through whether or not, for example, a protocol wouldn’t suit your needs better.