这段代码中的错误是什么?

时间:2011-08-24 04:53:17

标签: iphone objective-c compiler-errors nsmutablearray

我可以使用这种语法在数组中添加值

[Listoflatlong addObject: sObject.startLocLat];

但它给出的错误是错误:addObject:的参数1的不兼容类型。我在数组double中添加了sObject.startLocLat Listoflatlong的值。如何删除此错误?

3 个答案:

答案 0 :(得分:3)

如果您使用numerical primitive,则应向NSMutableArray添加NSNumber个对象,例如要添加double,请使用+numberWithDouble:类方法:

[Listoflatlong addObject:[NSNumber numberWithDouble:sObject.startLocLat]];

作为Objective-C约定的问题,您应该将您的可变数组实例命名为非大写,即listOfLatLong。课程获得资本化。实例变量不(不应该)。

答案 1 :(得分:0)

如果sObject.startLocLatdouble,那么要将其存储在数组中,您需要使用NSNumber:

[Listoflatlong addObject:[NSNumber numberWithDouble:sObject.startLocLat]];

然后您可以使用[[Listoflatlong objectAtIndex:0] doubleValue]稍后检索它。

答案 2 :(得分:0)

您正在直接添加double值,而语法清楚地要求您输入Object。尝试使用

[NSNumber numberWithDouble:<#(double)value#>]

希望它有所帮助。