NSMutableArray with NSDictionary to NSMutableDictionary



情况如下:
我有一个关于AFNetworking的请求,它检索了一个带有NSArrayJSON

我的目标是变异它里面的NSDictionaries。我已经做了一个数组的mutableCopy,但我想知道我是否可以很容易地改变所有的内容。我必须手动遍历数组吗?

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

不能改变NSDictionary,因为只有NSMutableDictionarysetObject: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;
}

最新更新