1

double * data = malloc(sizeof(double))在objectiveC中有一个变量;

我将此变量用作像 data[] 这样的双数组来存储一些数据。现在我想将此数据变量(它是一个双 * 数组)添加为对象NSNumber in iOS. Any idea how I can turn it into iOS object likeNSNumber`?

4

3 回答 3

2

您可以使用NSData将任意字节缓冲区包装到 Objective-C 对象中。

用于从双精度数组dataWithBytes:length:创建NSData对象,bytes:getBytes:length:NSData对象检索数据字节。

于 2013-02-22T11:05:59.700 回答
1

根据 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]]];
}

datadouble(您使用的)数组。

于 2013-02-22T10:36:00.780 回答
1

您不能将一组原语变成一个NSNumber. 这没有任何意义。

但是,您可以将一个双精度数组转换为一个NSNumbers. 遍历您的 double* 数组,并使用其类方法将每个数字添加到 anNSMutableArray中。NSNumbernumberWithDouble:

于 2013-02-22T10:36:41.787 回答