我将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只分配了这么多内存,但我认为数组只是一个引用数组而不会有这个问题。我错了 - 这不是第一次。
提前感谢你把头包裹起来。
答案 0 :(得分:1)
你是如何初始化数组及其中的值?我认为你有一个不可变的数组。
NSMutableArray也有一个可变大小,完全不需要调用initWithSize。如果需要,数组将调整大小。