具体来说,当我用JSONkit与AFNeworking一起发出请求并接收一个嵌套了几个数组和字典的(id)JSON时,会出现这个问题。将不可变对象转换为可变对象(递归)的最佳方法是什么?
如果我不想修改数据,我没有任何问题:
self.myNSArray = [JSON objectForKey:@"result"];
但是,如果我想修改数据,我必须将其存储在一个可变变量:
self.myNSMutableArray = [[JSON objectForKey:@"result"] mutableCopy];
最后一个不转换嵌套数组或词典来可变数据;它只适用于第一级。
我发现的唯一方法是在此链接recursive mutable objects;但我不知道是否有最佳方法来解决这类问题。
在此先感谢。
它像一个魅力。谢谢! – martinezdelariva
ARC的等价似乎是'CFBridgingRelease(CFPropertyListCreateDeepCopy(NULL,(__bridge CFPropertyListRef)(immutableArray),kCFPropertyListMutableContainersAndLeaves));' – brainjam
@omz这个工作对于字典,你知道吗?似乎无法让它转换。 –