Mat*_*inn 6 protocols objective-c
我有一个项目,其中包含一个协议,一个实现该协议的类,以及一个实现类的子类.这是我们的生产应用程序.
@protocol ProductionProtocol<NSObject>
@property (nonatomic, retain) NSString *role;
@end
@interface BaseProduction : NSObject<ProductionProtocol>
NSString *role;
@end
@implementation BaseProduction
@synthesize role;
@end
@interface Production : BaseProduction
@end
@implementation Production
@end
Run Code Online (Sandbox Code Playgroud)
我还有一个概念验证(POC)应用程序,它是作为包含生产应用程序的单独项目实现的.在POC应用程序中,我有一个扩展生产协议的协议,以及一个扩展生产类的类.
@protocol POCProtocol<ProductionProtocol>
-(void)cancel;
@end
@interface POC : Production<POCProtocol>
@end
@implementation POC
-(void)cancel{...}
@end
Run Code Online (Sandbox Code Playgroud)
请注意,在ProductionProtocol中,我有一个角色NSString,它被声明并在BaseProduction接口/类中实现.在POC中,我有一个方法'取消',它在协议中声明,但不在接口/类中.
所以这是我的问题:我的类结构设置如下,我得到这个警告:
Property 'role' requires method '-role' to be defined - use @synthesize, @dynamic or provide a method implementation
Run Code Online (Sandbox Code Playgroud)
我不明白为什么我会收到这个警告.由于合成属性在基类中,它们应该可用于POC类 - 并且快速测试似乎证实它们是.那么我在这里做错了什么?
| 归档时间: |
|
| 查看次数: |
18558 次 |
| 最近记录: |