为了账号安全,请及时绑定邮箱和手机立即绑定

如何将NSArray转换为NSData?

如何将NSArray转换为NSData?

iOS
手掌心 2019-10-16 14:11:46
谁能告诉我如何将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格式常量。


查看完整回答
反对 回复 2019-10-16
?
杨魅力

TA贡献1811条经验 获得超6个赞

在某种程度上相关的注释上,这是将NSData转换回NSArray的方法:


NSArray *array = [NSKeyedUnarchiver unarchiveObjectWithData:data]


查看完整回答
反对 回复 2019-10-16
  • 3 回答
  • 0 关注
  • 562 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信