我可以使用这种语法在数组中添加值
[Listoflatlong addObject: sObject.startLocLat];
但它给出的错误是错误:addObject:
的参数1的不兼容类型。我在数组double
中添加了sObject.startLocLat
Listoflatlong
的值。如何删除此错误?
答案 0 :(得分:3)
如果您使用numerical primitive,则应向NSMutableArray
添加NSNumber
个对象,例如要添加double
,请使用+numberWithDouble:
类方法:
[Listoflatlong addObject:[NSNumber numberWithDouble:sObject.startLocLat]];
作为Objective-C约定的问题,您应该将您的可变数组实例命名为非大写,即listOfLatLong
。课程获得资本化。实例变量不(不应该)。
答案 1 :(得分:0)
如果sObject.startLocLat
是double
,那么要将其存储在数组中,您需要使用NSNumber:
[Listoflatlong addObject:[NSNumber numberWithDouble:sObject.startLocLat]];
然后您可以使用[[Listoflatlong objectAtIndex:0] doubleValue]
稍后检索它。
答案 2 :(得分:0)
您正在直接添加double值,而语法清楚地要求您输入Object。尝试使用
[NSNumber numberWithDouble:<#(double)value#>]
希望它有所帮助。