【问题标题】:Assigning to NSNumber from incompatible type double从不兼容的 double 类型分配给 NSNumber
【发布时间】:2014-03-23 23:39:40
【问题描述】:

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

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

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

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

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

annotation3.lat = lat1;

但是这样做会引发错误:

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

我应该改变什么才能做到这一点而不会出错?

【问题讨论】:

    标签: ios nsnumber incompatibletypeerror


    【解决方案1】:

    使用NSNumber字面语法:

    annotation3.lat = @( lat1 );
    

    或者用老式的方式创建一个实例:

    annotation3.lat = [NSNumber numberWithDouble:lat1];
    

    另外,请确保您只希望您的资源使用assign(您通常希望使用strong)。

    【讨论】:

      猜你喜欢
      • 2016-04-16
      • 1970-01-01
      • 1970-01-01
      • 2013-06-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-23
      • 2016-02-24
      • 1970-01-01
      相关资源
      最近更新 更多