代码之家  ›  专栏  ›  技术社区  ›  mvasco

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

  •  2
  • mvasco  · 技术社区  · 11 年前

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

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

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

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

    然后我想将这个值赋给前面声明的lat实例:

    annotation3.lat = lat1;
    

    但这样做会引发错误:

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

    我应该怎样做才能做到这一点而不会出错?

    1 回复  |  直到 11 年前
        1
  •  3
  •   Wain    11 年前

    使用 NSNumber 文字语法:

    annotation3.lat = @( lat1 );
    

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

    annotation3.lat = [NSNumber numberWithDouble:lat1];
    

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