0

我有一个 NSArray 的浮点数,我通过使用封装浮点数来完成

[NSNumber numberWithFloat:myFloat] ;

然后我将该数组传递到其他地方,我需要将这些浮点数拉出数组并执行基本的算术运算。当我尝试

[myArray objectAtIndex:i] ;

编译器抱怨我正在尝试对类型 ID 执行算术运算。它也不会让我投到浮动或加倍。

有任何想法吗?这似乎应该是一个简单的问题。也许它会在再喝一杯咖啡后来找我,但我们将不胜感激。谢谢。

4

3 回答 3

4

您可以像这样拆箱浮动:

float f = [[myArray objectAtIndex:i] floatValue];
于 2012-10-08T15:33:23.240 回答
1

您正在将浮点值转换为NSNumber对象并将其添加到NSArray. 所以您必须再次将NSNumber对象转换为浮点值。

NSNumber *number = [yourArray objectAtIndex:0];
float f = [number floatValue];
于 2012-10-10T07:00:40.570 回答
1

因此从 NSNumber 对象中拆箱浮点值:

NSNumber *number = myArray[i];
float f = [number floatValue];
于 2012-10-08T15:35:16.647 回答