任何人都可以告诉我如何转换NSArray为NSData?我有一个NSArray.我需要发送给NSInputStream.为了做到这一点,我需要将其转换NSArray为NSData.
请帮助我,我被困在这里.
Rob*_*ier 189
使用NSKeyedArchiver(这是Garrett帖子的最后一句话):
NSData *data = [NSKeyedArchiver archivedDataWithRootObject:array];
请注意,所有对象array必须符合NSCoding协议.如果这些是自定义对象,那么这意味着您需要阅读编码和解码对象.
请注意,这将创建一个相当难以阅读的属性列表格式,但可以处理各种各样的对象.如果你有一个非常简单的数组(例如字符串),你可能想要使用NSPropertyListSerialization,这会创建一个更简单的属性列表:
NSString *error;
NSData *data = [NSPropertyListSerialization dataFromPropertyList:array format:NSPropertyListBinaryFormat_v1_0 errorDescription:&error];
如果您希望它在线上可读,那么您还可以传递XML格式常量.
Mic*_*iel 93
在某种程度上相关的说明,这里是如何将NSData转换回NSArray:
NSArray *array = [NSKeyedUnarchiver unarchiveObjectWithData:data]