I have created a protocol that my classes need to implement, and then factored out some common functionality into a base class, so I did this:
@protocol MyPr
I do something like this
@protocol MyProtocol
- (void) foo;
- (void) bar;
@end
@interface BaseAbstract
- (void) bar; // give a default implementation
@end
@interface Derived_1 : BaseAbstract
// you will get a compiler warning for foo() since it is not implemented
// you will NOT get compiler for bar() warning since a default
// implementation is inherited
@end
@interface Derived_2 : BaseAbstract
@end
typedef BaseAbstract Base;