当我尝试添加叠加层来映射时出现此错误,来自其中一个SO答案How to prevent from "_OBJC_IVAR_$_UIPickerView._backgroundView symbol not found" error?我明白我们不应该使用私有ivar,但我没有在我的任何地方使用它们代码,我仍然收到以下错误。
错误[IRForTarget]:找不到Objective-C间接ivar符号OBJC_IVAR _ $ _ MKPolygon._interiorPolygons
请告诉我解决此问题的方法
答案 0 :(得分:0)
从XCode 4.5开始,3个变量声明语句可以折叠为1
现在: 1.合成
所以,如果旧代码是:
NSString* name; //in .h file
@property (nonatomic, strong) NSString* name; // in .h file
@synthesize name; // in .m file
从4.5开始,这就是所需要的:
@property (nonatomic, strong) NSString* name; // in .h file
我们现在可以使用以下任一方式解决此iVar:
self.name = @"john"; // used to reference the full property setter/getting - usually from outside the object
_name = @"john"; // used to reference an internal variable
当我使用iVar时发生此错误消息(请注意没有前导下划线):
name = @"john";
要将更改修改为:
self.name = @"john"; // or
_name = @"john";
注意:我没有在xcode版本4.5(4G182)上收到此错误,但我在4.5.2(4G2008a)上收到了此错误。