首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何将NSArray转换为NSData?

如何将NSArray转换为NSData?
EN

Stack Overflow用户
提问于 2009-08-17 04:56:22
回答 7查看 81.4K关注 0票数 83

谁能告诉我如何将NSArray转换为NSData?我有一台NSArray。我需要把它发送给NSInputStream。为此,我需要将NSArray转换为NSData

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

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2009-08-17 05:20:05

使用NSKeyedArchiver (这是Garrett文章链接的最后一句话):

代码语言:javascript
复制
NSData *data = [NSKeyedArchiver archivedDataWithRootObject:array];

请注意,array中的所有对象都必须符合NSCoding协议。如果这些是自定义对象,那么这意味着您需要阅读Encoding and Decoding Objects

请注意,这将创建一个相当难读的属性列表格式,但可以处理非常广泛的对象。如果你有一个非常简单的数组(例如字符串),你可能想要使用NSPropertyListSerialization,它创建了一个更简单的属性列表:

代码语言:javascript
复制
NSString *error;
NSData *data = [NSPropertyListSerialization dataFromPropertyList:array format:NSPropertyListBinaryFormat_v1_0 errorDescription:&error];

还有一个XML格式常量,如果您希望它在网络上是可读的,您可以传递它。

票数 193
EN

Stack Overflow用户

发布于 2011-02-24 00:34:14

在一些相关的注释中,下面是如何将NSData转换回NSArray的方法:

代码语言:javascript
复制
NSArray *array = [NSKeyedUnarchiver unarchiveObjectWithData:data]
票数 94
EN

Stack Overflow用户

发布于 2016-01-07 21:54:00

我用了这段代码。

代码语言:javascript
复制
 NSError *error;
 NSMutableData *jsonData = [[NSJSONSerialization dataWithJSONObject:yourDemoArray
                                                                   options:0 // Pass 0 if you don't care about the readability of the generated string
                                                                     error:&error] copy];
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1286212

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档