1

情况如下:
我有一个请求,AFNetworkingJSONNSArray.

我的目标是改变NSDictionaries它的内部。我已经制作了一个mutableCopy数组,但我想知道我是否可以轻松地改变所有内容。我必须手动遍历数组吗?

4

2 回答 2

5

NSJSONSerialization 具有允许您控制结果数据结构的可变性的选项。只需通过适当的(可能NSJSONReadingMutableContainers)就可以了。

于 2013-04-26T20:07:21.710 回答
0

你不能变异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;
}
于 2013-04-26T20:32:22.740 回答