[英]Storing a double array as NSNumber
I have a variable double * data = malloc(sizeof(double))
in objectiveC; 我在objectiveC中有一个变量
double * data = malloc(sizeof(double))
;
I am using this variable as an double array like data[] to store some data. 我使用这个变量作为像data []的双数组来存储一些数据。 Now I want to add this data variable (which is an double* array) as an object
NSNumber in iOS. Any idea how I can turn it into iOS object like
现在我想将这个数据变量(它是一个double *数组)添加为
NSNumber in iOS. Any idea how I can turn it into iOS object like
的对象NSNumber in iOS. Any idea how I can turn it into iOS object like
NSNumber in iOS. Any idea how I can turn it into iOS object like
NSNumber`? NSNumber in iOS. Any idea how I can turn it into iOS object like
NSNumber NSNumber in iOS. Any idea how I can turn it into iOS object like
?
You can use NSData
to wrap an arbitrary byte buffer into an Objective-C object. 您可以使用
NSData
将任意字节缓冲区包装到Objective-C对象中。
Use dataWithBytes:length:
to create an NSData
object from your double array, and bytes:
or getBytes:length:
to retrieve the data bytes back from the NSData
object. 使用
dataWithBytes:length:
从double数组创建一个NSData
对象,使用bytes:
或getBytes:length:
从NSData
对象中检索数据字节。
Based on Mundi's answer, try this: 根据Mundi的回答,试试这个:
NSMutableArray *array = [[NSMutableArray alloc] initWithCapacity:0];
for (int i = 0; i < lengthOfDoublearray; i++) { // as premitive DataType array needs predefined length
[array addObject:[NSNumber numberWithDouble:data[i]]];
}
Here data
is array of double
(that you used). 这里的
data
是double
(你使用过的)数组。
You cannot turn an array of primitives into one NSNumber
. 您无法将基元数组转换为一个
NSNumber
。 This does not make any sense. 这没有任何意义。
You can, however, turn an array of doubles into an array of NSNumbers
. 但是,您可以将一个双精度数组转换为
NSNumbers
数组。 Iterate through your double* array and add each number to an NSMutableArray
as NSNumber
using its class method numberWithDouble:
. 迭代你的double *数组,并使用类方法
numberWithDouble:
将每个数字作为NSNumber
添加到NSMutableArray
中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.