CoreLocation 警告:不兼容的类型

Posted

技术标签:

【中文标题】CoreLocation 警告:不兼容的类型【英文标题】:CoreLocation warning: incompatible type 【发布时间】:2011-11-27 13:23:41 【问题描述】:

我收到以下错误警告:

Passing 'MyCLController *__strong' to parameter of incompatible type 'id<CLLocationManagerDelegate>'

...在这一行:

self.locationManager.delegate = self;

如果我删除该行,则整个位置更新过程将失败。所以它是导入但也包含一个错误。

位置更新工作顺利,但我不知道如何摆脱这条消息......

必须与“新”Xcode 4 相关...

有什么想法吗?

谢谢!

【问题讨论】:

与 XCode 4 相比,ARC 已打开这一事实更多。您能否在原始问题中说明您是如何在 .h 接口文件中声明 delegate 的? 【参考方案1】:

您需要在接口定义中包含委托协议:

@interface MyCLController : NSObject <CLLocationManagerDelegate>
...
@end

【讨论】:

杰普。就是这样。万分感谢! :)

以上是关于CoreLocation 警告:不兼容的类型的主要内容,如果未能解决你的问题,请参考以下文章

收到有关不兼容指针类型的警告

得到错误而不是不兼容的指针类型警告

警告:从 C 中不兼容的指针类型返回

自定义 UITableViewCell 的不兼容指针类型警告

将 uiviewcontroller strong 发送到不兼容类型 id 的参数的警告

Swift CoreLocation