addObject到NSMutableArray中的NSMutableArray

时间:2011-11-24 18:32:00

标签: objective-c cocoa-touch nsmutablearray nsmutabledictionary

我将UITableView数据组织起来,使得表格的各个部分是NSMutableArray的数组元素。每个元素本身都是NSMutablearray NSMutableDictionary,表示每个部分的行和每行的数据。

当我创建它时,我加载所有数据并创建每个部分的NSMutableArray,然后一次一个地添加到“外部”NSMutableArray。我通过以下方式引用行:

[[[objData objectAtIndex:indexPath.section] objectAtIndex:indexPath.row] objectForKey:@"name"]

并且没有遇到任何问题。我认为这里的优点是我可以拥有可变数量的部分,我需要它们,每个部分中的行数可变,也是一个要求。

但是,当我尝试向某个部分添加行时,我会收到错误。

[[objData objectAtIndex:0] addObject:[[NSMutableDictionary alloc] initWithObjectsAndKeys: objectID,@"id",nameVar,@"name",nil]];

不起作用。这是问题吗,还是我排列阵列的方式有问题?我认为内部NSMutableArray只分配了这么多内存,但我认为数组只是一个引用数组而不会有这个问题。我错了 - 这不是第一次。

提前感谢你把头包裹起来。

1 个答案:

答案 0 :(得分:1)

你是如何初始化数组及其中的值?我认为你有一个不可变的数组。

NSMutableArray也有一个可变大小,完全不需要调用initWithSize。如果需要,数组将调整大小。