2010-03-31 46 views

回答

1

兩個選項浮現在腦海中:

  1. 轉換成NSNumberNSArray對象。
  2. 鞋拔成NSValueNSData對象。
0

如果你沒有轉移的平臺,在這裏你可能會遇到字節排列順序以及數據量問題之間的編碼數據,你可以使用

- (void)encodeBytes:(const uint8_t*)bytesp length:(NSUInteger)lenv forKey:(NSString*)key; 

直接存儲字節,然後

- (const uint8_t*)decodeBytesForKey:(NSString*)key returnedLength:(NSUInteger*)lengthp; 

來解碼它們。正如NSCoder頭文件指出的那樣,decodeBytesForKey:returnedLength:方法返回不可變字節,因此您需要將返回的數組複製到您的malloced雙精度數組中。由於返回的數組是const的,我假設解碼器擁有該數組,並且在解碼器被處理時將釋放它。

這不像將數組放入NSData對象並存檔那樣方便,但它確實避免了創建臨時對象的開銷。