抱歉,我无法为标题提出一个简短的问题。
如果我使用委托协议和属性对一个类进行子类化,我的委托是否仍然需要实现超类的委托协议,或者我是否必须为子类定义一个新的委托协议?
就我而言,我细分了UIImagePickerController
:
[(UIImagePickerController *)self.myUIImagePickerControllerSubclassInstance setDelegate:self];
当我尝试将其委托设置为self
,从某些视图控制器我收到以下警告:
警告:语义问题:将“ViewController *”发送到参数
不兼容类型
'ID'
您的代表需要遵守UIImagePickerController
财产申报:
@property (nonatomic, assign) id<UINavigationControllerDelegate, UIImagePickerControllerDelegate> delegate
所以,尝试添加<UIImagePickerControllerDelegate>
到你的子类接口:
@interface YourPicker : UIImagePickerController <UIImagePickerControllerDelegate>
...
@end
也许你会需要UINavigationControllerDelegate
并实施强制性方法(如果有)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)