我在objectiveC中有一個變量double * data = malloc(sizeof(double))
;將雙數組存儲爲NSNumber
我正在使用這個變量作爲像data []這樣的雙數組來存儲一些數據。現在我想添加這個數據變量(這是一個double *數組)作爲對象NSNumber in iOS. Any idea how I can turn it into iOS object like
NSNumber`?
我在objectiveC中有一個變量double * data = malloc(sizeof(double))
;將雙數組存儲爲NSNumber
我正在使用這個變量作爲像data []這樣的雙數組來存儲一些數據。現在我想添加這個數據變量(這是一個double *數組)作爲對象NSNumber in iOS. Any idea how I can turn it into iOS object like
NSNumber`?
您可以使用NSData
將任意字節緩衝區包裝到Objective-C對象中。
使用dataWithBytes:length:
從你的雙陣列創建NSData
對象,bytes:
或getBytes:length:
檢索數據字節從NSData
對象返回。
基於曼迪的回答,試試這個:
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
陣列(你使用)。
您無法將原始數組轉換爲一個NSNumber
。這沒有任何意義。
但是,您可以將一個雙精度數組轉換爲NSNumbers
的數組。迭代你的double *數組,並使用它的類方法numberWithDouble:
將每個數字加到NSMutableArray
中作爲NSNumber
。
這似乎是解決我的問題。感謝Martin。 – Dinesh 2013-02-22 11:14:25