Я создал протокол, который мои классы должны реализовать, а затем учесть некоторые общие функции в базовый класс, поэтому я сделал это:
@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
Таким образом, в моем коде я использую общий идентификатор <MyProtocol> .
Код работает (до тех пор, пока Base не используется напрямую), но компилятор задыхается в конце реализации Base с предупреждением:
Incomplete implementation of class Base
Есть ли способ избежать этого предупреждения или, что еще лучше, более правильный способ получить это частично реализованное поведение абстрактного базового класса в Objc?