iphone - 从不兼容的类型警告分配给

标签 iphone ios delegates

分配给 ID 来自以下代码中显示的不兼容类型“CameraVIewController*”警告

 UIImagePickerController * picker = [[UIImagePickerController alloc] init];
 picker.delegate = self;

最佳答案

实际上,我认为真正的原因是你错过了协议(protocol)“UINavigationControllerDelegate

UIImagePickerController.h 中,您可以看到委托(delegate)定义:

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

所以如果你想像这样分配委托(delegate):

picker.delegate = self;

self viewController 必须实现 UINavigationControllerDelegateUIImagePickerControllerDelegate

如果你只实现UIImagePickerControllerDelegate,你找不到任何错误文字,但你会收到警告“Assigning to id from incompatible type ''CameraVIewController''* ", 将 UINavigationControllerDelegate 添加到您的 viewController 的协议(protocol)声明中应该摆脱它。

这是一个很晚的答案,但我刚刚遇到并解决了它,希望它能有所帮助。

关于iphone - 从不兼容的类型警告分配给,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8937095/

相关文章:

iphone - 应用程序加载时 iOS 内存泄漏

ios - 午夜后刷新iOS UIDatePicker的内部状态

iphone - 将远程图像保存到文档/图像文件夹

ios - SwiftUI 关闭多个模态表

ios - 可以在后台线程中使用 UIPasteboard 吗?

c# - 将 lambda 分配给 Action<T>

C# Action 封装了一个带有签名 void SomeFunc(class arg) 的方法

html - UIWebView 电子邮件超链接在设备上不起作用

ios - 空中移动 : Loading custom fonts in iOS at runtime

.net - 我可以将 BeginInvoke 与 MulticastDelegate 一起使用吗?