子类继承父类出现代理冲突,Auto property synthesis will not synthesize property...

子类继承父类出现代理冲突

[toc]

前言

今天在写代理写出现父类和子类代理冲突的问题,就是在我写了一个父类,子类继承之后也要写代理,就会发生冲突

1
2
1、 Property type 'id<CTVITJiangpingDelegate> _Nullable' is incompatible with type 'id<CTVITBaseViewDelegate> _Nullable' inherited from 'CTVITBaseView'
2、 Auto property synthesis will not synthesize property 'delegate'; it will be implemented by its superclass, use @dynamic to acknowledge intention

解决第一警告

1
2
3
4
5
@protocol CTVITJiangpingDelegate <NSObject,CTVITBaseViewDelegate>

-(void)getAddressDetail:(NSDictionary *)dic;

@end

解决第二个警告——用@dynamic

1
2
3
4
5
6
@implementation CTVITJiangping

@dynamic delegate;


@end

总结:

第一个就是遵循父类的代理方法
第二个就是用@dynamic告诉编译器,属性的setter与getter方法由用户自己实现,不自动生成

-------------本文结束感谢您的阅读-------------