How to avoid "incomplete implementation" warning in partial base class

Posted by garph0 on Stack Overflow See other posts from Stack Overflow or by garph0
Published on 2010-05-18T04:13:12Z Indexed on 2010/05/18 4:20 UTC
Read the original article Hit count: 158

Filed under:
|
|

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 MyProtocol
- (void) foo;
- (void) bar;
@end

@interface Base <MyProtocol>
@end

@interface Derived_1 : Base
@end

@interface Derived_2 : Base
@end

@implementation Base
- (void) foo{
//something foo
}
@end

@implementation Derived_1
- (void) bar{
//something bar 1
}
@end

@implementation Derived_2
- (void) bar{
//something bar 2
}
@end

In this way in my code I use a generic id<MyProtocol>.

The code works (as long as Base is not used directly) but the compiler chokes at the end of the implementation of Base with a warning:

Incomplete implementation of class Base

Is there a way to avoid this warning or, even better, a more proper way to obtain this partially implemented abstract base class behavior in Objc?

© Stack Overflow or respective owner

Related posts about objective-c

Related posts about oop