在头文件中,我声明了以下属性:
//lat
@property (nonatomic, assign) NSNumber *lat;
然后在实现文件中,我从数组中得到一个双变量:
double lat1 = [[[categorias objectAtIndex:i]objectForKey:@"latitud"] doubleValue];
然后我想将此值分配给先前声明的lat实例:
annotation3.lat = lat1;
但这样做会引发错误:
从不兼容的类型double分配给NSNumber。
如果没有错误,我应该更改哪些内容?
答案 0 :(得分:3)
使用NSNumber
文字语法:
annotation3.lat = @( lat1 );
或以旧式方式创建实例:
annotation3.lat = [NSNumber numberWithDouble:lat1];
此外,请确保您只想让自己的财产使用assign
(通常希望使用strong
)。