誰能告訴我如何將an轉換NSArray為an NSData?我有一個NSArray。我需要將其發送到NSInputStream。為此,我需要將轉換NSArray為NSData。請幫助我,我被困在這里。
3 回答

藍山帝景
TA貢獻1843條經驗 獲得超7個贊
使用NSKeyedArchiver(這是Garrett鏈接的最后一句話):
NSData *data = [NSKeyedArchiver archivedDataWithRootObject:array];
請注意,其中的所有對象array必須符合NSCoding協議。如果這些是自定義對象,則意味著您需要閱讀Encoding and Decoding Objects。
請注意,這將創建一種相當難以理解的屬性列表格式,但可以處理非常廣泛的對象。如果您有一個非常簡單的數組(例如字符串),則可能要使用NSPropertyListSerialization,它會創建一個更簡單的屬性列表:
NSString *error;
NSData *data = [NSPropertyListSerialization dataFromPropertyList:array format:NSPropertyListBinaryFormat_v1_0 errorDescription:&error];
如果您希望在線閱讀它,還可以傳遞一個XML格式常量。

楊魅力
TA貢獻1811條經驗 獲得超6個贊
在某種程度上相關的注釋上,這是將NSData轉換回NSArray的方法:
NSArray *array = [NSKeyedUnarchiver unarchiveObjectWithData:data]
- 3 回答
- 0 關注
- 593 瀏覽
添加回答
舉報
0/150
提交
取消