从不兼容的类型double分配给NSNumber

时间:2014-03-23 23:39:41

标签: ios nsnumber incompatibletypeerror

在头文件中,我声明了以下属性:

//lat
@property (nonatomic, assign) NSNumber *lat;

然后在实现文件中,我从数组中得到一个双变量:

double lat1 = [[[categorias objectAtIndex:i]objectForKey:@"latitud"] doubleValue];

然后我想将此值分配给先前声明的lat实例:

annotation3.lat = lat1;

但这样做会引发错误:

  

从不兼容的类型double分配给NSNumber。

如果没有错误,我应该更改哪些内容?

1 个答案:

答案 0 :(得分:3)

使用NSNumber文字语法:

annotation3.lat = @( lat1 );

或以旧式方式创建实例:

annotation3.lat = [NSNumber numberWithDouble:lat1];

此外,请确保您只想让自己的财产使用assign(通常希望使用strong)。