如何将NSArray转换为NSData?

谁能告诉我如何将an转换NSArray为an NSData?我有一个NSArray。我需要将其发送到NSInputStream。为此,我需要将转换NSArrayNSData

请帮助我,我被困在这里。


手掌心
浏览 563回答 3
3回答

蓝山帝景

使用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格式常量。

杨魅力

在某种程度上相关的注释上,这是将NSData转换回NSArray的方法:NSArray *array = [NSKeyedUnarchiver unarchiveObjectWithData:data]
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

iOS