如何创建具有浮点值的NSArray

Yus*_*KAN 3 floating-point objective-c nsarray

我想创建一个浮点值数组.我怎样才能做到这一点?我的代码是:

NSArray *tmpValue = [[NSArray alloc] init];
total = total + ([[self.closeData objectAtIndex:i]floatValue] - total)* expCarpan;
firstValue = total;
Run Code Online (Sandbox Code Playgroud)

Stu*_*art 9

NSArrays只接受对象类型.您可以NSArray使用NSNumber包装器向其中添加各种非对象类型:

NSNumber *floatNumber = [NSNumber numberWithFloat:myFloat];
[myArray addObject:floatNumber]; // Assuming `myArray` is mutable.
Run Code Online (Sandbox Code Playgroud)

然后从数组中检索浮点数:

NSNumber *floatNumber = [myArray objectAtIndex:i];
float myFloat = [floatNumber floatValue];
Run Code Online (Sandbox Code Playgroud)

(正如您在上面的代码中所做的那样).


更新:

您也可以使用该NSValue包装以同样的方式作为NSNumber对其他非对象类型,包括CGPoint/Size/Rect/AffineTransform,UIOffset/EdgeInsets各种AV基金类型.或者您可以使用它来存储指针或任意字节的数据.