gpt4 book ai didi

iphone - 将 self 分配给 CLLocationManager.delegate 会生成不兼容类型警告

转载 作者:行者123 更新时间:2023-12-03 18:48:40 27 4
gpt4 key购买 nike

自从升级到 xCode 4 以来,我目前正在开发的应用程序已经有一段时间没有构建错误了,但此代码的最后一行一直给我一个不兼容的类型警告...

locationManager = [[CLLocationManager alloc] init];
locationManager.desiredAccuracy = kCLLocationAccuracyNearestTenMeters;
locationManager.delegate = self;

有趣的是,在清理和构建之后,xCodes 没有报告任何问题。但是,如果我转到包含此代码的类,构建错误会突然出现并一直存在,直到我再次执行清理。

实际的警告是...

warning: Semantic Issue: Incompatible pointer types assigning to 'id' from 'Class'

CLLocationmanager 工作正常,我的委托(delegate)方法被调用,因此一切似乎都工作正常。我想摆脱这个警告。我应该忽略它吗?

最佳答案

您是否声明委托(delegate)对象遵循 CLLocationManagerDelegate 协议(protocol)?我通常会在类扩展中而不是 MyObject 的头文件中执行此操作。

@interface MyObject()<CLLocationManagerDelegate> 
@end

或者在 Swift 中

@objc class MyObject: NSObject, CLLocationManagerDelegate
{
// implement whichever of the optional protocol functions you need
}

关于iphone - 将 self 分配给 CLLocationManager.delegate 会生成不兼容类型警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5572397/

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