Ios NSMutableArray与NSDictionary到NSMutableDictionary
情况如下:Ios NSMutableArray与NSDictionary到NSMutableDictionary,ios,objective-c,cocoa,Ios,Objective C,Cocoa,情况如下: 我在AFNetworking上有一个请求,它用NSArray检索了一个JSON 我的目标是对其中的nsdictionary进行变异。我已经制作了数组的mutableCopy,但我想知道是否可以轻松地修改所有内容。我需要手动遍历数组吗?NSJSONSerialization提供了一些选项,允许您控制生成的数据结构的可变性。只需传递适当的文件(可能是NSJSONReadingMutableContainers),就可以了。NSJSONSerialization提供了一些选项,允许您控制生
我在
AFNetworking
上有一个请求,它用NSArray
检索了一个JSON
我的目标是对其中的
nsdictionary
进行变异。我已经制作了数组的mutableCopy
,但我想知道是否可以轻松地修改所有内容。我需要手动遍历数组吗?NSJSONSerialization提供了一些选项,允许您控制生成的数据结构的可变性。只需传递适当的文件(可能是NSJSONReadingMutableContainers
),就可以了。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;
}
-(NSMutableArray*)mutatedArrayFromArray:(NSArray*)数组
{
NSMutableArray*resultArray=[NSMutableArray新建];
如果([数组计数]>0)
{
for(int i=0;i
你不能变异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;
}
-(NSMutableArray*)mutatedArrayFromArray:(NSArray*)数组
{
NSMutableArray*resultArray=[NSMutableArray新建];
如果([数组计数]>0)
{
for(int i=0;i
即使将数组变为可变数组,我仍然无法更改字典内容,因为它不是可变字典。我想知道是否有一种方法可以让所有的数组都变为可变的。一般来说,如果你不能从一开始就得到可变形式的字典/数组,那么你必须遍历它们来生成一个“深层”可变副本。即使将数组变为可变数组,我仍然无法更改字典内容,因为它不是可变字典。我想知道是否有一种方法可以让所有的变量都以一种智能的方式变。一般来说,如果你不能从一开始就得到可变形式的字典/数组,那么你必须迭代它们来生成一个“深度”可变副本。太棒了!出于某种原因,我通过了那个,但没有注意到那个选项,那个指向我的选项。太棒了!出于某种原因,我通过了那个,并没有注意到那个选项,那个指向我的选项。