2012-10-08 66 views
0

我有我没有使用漂浮在NSArray中

[NSNumber numberWithFloat:myFloat] ; 

然后封装花车彩车的一个NSArray我通过了阵列别的地方,我需要去拉这些彩车从数组中,并执行基本arithmatic。当我尝试

[myArray objectAtIndex:i] ; 

编译器抱怨我试图对类型id执行算术。它也不会让我抛出或翻倍。

任何想法?这看起来应该是一个简单的问题。也许它会在又一杯咖啡后来到我的面前,但有些帮助将不胜感激。谢谢。从NSNumber的对象正是如此

float f = [[myArray objectAtIndex:i] floatValue]; 
+1

注意,(因为Xcode的4.4),你可以使用新的'NSNumber'文字来初始化基本类型像这样的'NSNumber'对象:'的NSNumber * NUM = @(myFloat);' – DrummerB

+0

现在看来,疯狂地说,我不知道短短三年之前这个答案。感谢所有在我的菜鸟日子帮助我:) – JordanC

回答

4

可以拆箱彩车这样

NSNumber *number = myArray[i]; 
float f = [number floatValue]; 
1

拆箱浮点值:

1

你的浮点值转换为NSNumber对象并将其添加到NSArray。所以你必须再次将NSNumber对象转换为浮点值。

NSNumber *number = [yourArray objectAtIndex:0]; 
float f = [number floatValue];