gpt4 book ai didi

objective-c - 子类化后的委托(delegate)?

转载 作者:行者123 更新时间:2023-11-29 04:53:44 25 4
gpt4 key购买 nike

抱歉,我无法针对标题提出一个简短的问题。

如果我使用委托(delegate)协议(protocol)和属性对一个类进行子类化,我的委托(delegate)是否仍然需要实现父类(super class)的委托(delegate)协议(protocol),或者我是否必须为子类定义一个新的委托(delegate)协议(protocol)?

就我而言,我对 UIImagePickerController 进行了子类化:

[(UIImagePickerController *)self.myUIImagePickerControllerSubclassInstance setDelegate:self];

当我尝试将其委​​托设置为 self 时,从某些 View Controller 中我收到以下警告:

warning: Semantic Issue: Sending 'ViewController *' to parameter of incompatible type 'id'

最佳答案

您的代表需要遵守UIImagePickerController属性声明:

@property (nonatomic, assign) id<UINavigationControllerDelegate, UIImagePickerControllerDelegate> delegate

所以,尝试添加 <UIImagePickerControllerDelegate>到您的子类接口(interface):

@interface YourPicker : UIImagePickerController <UIImagePickerControllerDelegate>
...
@end

您可能需要 UINavigationControllerDelegate并实现强制方法(如果有)。

关于objective-c - 子类化后的委托(delegate)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8389142/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com