从 NSData 的 NSMutableArray 转换为 NSString 的 NSMutableArray?

Posted

技术标签:

【中文标题】从 NSData 的 NSMutableArray 转换为 NSString 的 NSMutableArray?【英文标题】:conversion from NSMutableArray of NSData to NSMutableArray of NSString? 【发布时间】:2013-06-08 16:03:21 【问题描述】:

我的要求是将 NSData 的 NSMutualArray 转换为 NSString 的 NSMutualArray,是否有任何方法或函数直接适用于上述情况,或者我们必须处理每个数组的单个元素?

我的代码:

for (int i = 0; i

【问题讨论】:

这与 Xcode 无关。顺便说一句,调用initWithData:encoding:for-in 循环应该不难写。 感谢您的建议, 【参考方案1】:

除了访问每个元素之外,我不知道反正:

NSMutableArray *mutableArray; // your array of objects
for (int i = 0; i < [mutableArray count]; i++)
    mutableArray[i] = [[NSString alloc] initWithData:mutableArray[i] encoding:NSUTF8StringEncoding];

【讨论】:

我建议使用 NSUTF8StringEncoding 而不是 ASCII。 感谢您的回复,我使用了您建议的代码,但它终止说“由于未捕获的异常'NSInvalidArgumentException'而终止应用程序”, @rowin 是否为您提供有关异常的更多信息?【参考方案2】:

Firo 的回答是正确的。唯一需要更改的是用于在 NSMutableArray 中设置/替换对象的语法。 正确的语法是:

[yourMutableArray replaceObjectAtIndex:i withObject:
           [[NSString alloc] initWithData:[yourMutableArray objectAtIndex:i] encoding:NSASCIIStringEncoding];

【讨论】:

错了。您可以使用现代 Objective-C 中的 [] 语法来访问 NSArrayNSDictionary 的元素。 Stuff to read

以上是关于从 NSData 的 NSMutableArray 转换为 NSString 的 NSMutableArray?的主要内容,如果未能解决你的问题,请参考以下文章

iOS计算App缓存的大小以及清理iOS应用跳转到appstore评分文字加阴影 NSMutableArray到NSData的转化

NSMutableArray 到 JSON 对象

使用 NSData 和 NSMutableArrays 保存 OS X 游戏数据

带有电子邮件正文的 NSMutableArray 数据附件?

电子邮件中附加的数据?

我们如何在 NSMutableArray 中添加带有 Image 作为对象的 NSMutableDictionary 并将这个数组写入 Plist