我在objectiveC中有一个变量double * data = malloc(sizeof(double))
;
我将此变量用作data []之类的双数组来存储一些数据。现在我想将此数据变量(这是一个double *数组)添加为对象NSNumber in iOS. Any idea how I can turn it into iOS object like
NSNumber`?
答案 0 :(得分:2)
您可以使用NSData
将任意字节缓冲区包装到Objective-C对象中。
使用dataWithBytes:length:
从双数组创建NSData
对象,使用bytes:
或getBytes:length:
从NSData
对象检索数据字节。
答案 1 :(得分:1)
您无法将基元数组转换为一个NSNumber
。这没有任何意义。
但是,您可以将一个双精度数组转换为NSNumbers
数组。迭代您的double *数组,并使用其类方法NSMutableArray
将每个数字添加到NSNumber
numberWithDouble:
。
答案 2 :(得分:0)
根据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]]];
}
此处data
是double
(您使用过的)数组。