情况如下:
我有一个请求,AFNetworking
它JSON
用NSArray
.
我的目标是改变NSDictionaries
它的内部。我已经制作了一个mutableCopy
数组,但我想知道我是否可以轻松地改变所有内容。我必须手动遍历数组吗?
情况如下:
我有一个请求,AFNetworking
它JSON
用NSArray
.
我的目标是改变NSDictionaries
它的内部。我已经制作了一个mutableCopy
数组,但我想知道我是否可以轻松地改变所有内容。我必须手动遍历数组吗?
NSJSONSerialization 具有允许您控制结果数据结构的可变性的选项。只需通过适当的(可能NSJSONReadingMutableContainers
)就可以了。
你不能变异NSDictionary
,因为只有NSMutableDictionary
方法setObject:forKey:
所以你应该创建mutableCopy
每个字典和空的可变数组。然后用for
循环填充该数组。你的代码应该是这样的:
- (NSMutableArray *)mutatedArrayFromArray:(NSArray *)array
{
NSMutableArray *resultArray = [NSMutableArray new];
if([array count] > 0)
{
for(int i = 0; i < count; i++)
{
NSMutableDictionary *mutatedItem = [[array objectAtIndex:i] mutableCopy];
[resultArray addObject:mutatedItem];
[mutatedItem release]; // only with ARC disabled
}
}
return [result autorelease]; // if ARC enabled : return result;
}