谁能告诉我如何将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 关注
- 562 浏览
添加回答
举报
0/150
提交
取消