从 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 中的[]
语法来访问 NSArray
和 NSDictionary
的元素。
Stuff to read以上是关于从 NSData 的 NSMutableArray 转换为 NSString 的 NSMutableArray?的主要内容,如果未能解决你的问题,请参考以下文章
iOS计算App缓存的大小以及清理iOS应用跳转到appstore评分文字加阴影 NSMutableArray到NSData的转化
使用 NSData 和 NSMutableArrays 保存 OS X 游戏数据
带有电子邮件正文的 NSMutableArray 数据附件?
我们如何在 NSMutableArray 中添加带有 Image 作为对象的 NSMutableDictionary 并将这个数组写入 Plist