我目前正在尝试在2D NSMutableArray中创建和访问数据。我明白我必须将数组嵌套到数组中。问题是我无法访问不同的1D阵列。
这是初始化2D数组的代码,所有数组都是NSMuttableArray:
if(simSections == nil || [simSections count] == 0) {
simSections = [[NSMutableArray alloc] init];
for (int i = 0; i < 8 ; i++) {
simData[i] = [[NSMutableArray alloc] init];
[simSections addObject:simData[i]];
}
}
现在我正在尝试在第一个数组的第一个空格中添加对象:
[[simSections objectAtIndex:0] addObject:[NSString stringWithString:@"Test"]];
我收到此错误,但我不明白为什么 simSections 数组会为空,因为我添加了 simData 数组。
你知道吗?我非常感谢你的帮助,*由于未捕获的异常'NSRangeException'而终止应用程序,原因:'* - [NSMutableArray objectAtIndex:]:索引0超出空数组的界限'
谢谢。
答案 0 :(得分:0)
检查你的simSections数组。它似乎是空的
答案 1 :(得分:0)
您填写simSections
的代码似乎对我而言。我怀疑,那个问题是那个代码实际上并没有为那个正在做[simSections objectAtIndex:0]
的对象调用。
将记录添加到两段代码中。记录self
和simSections
以确保它们与您期望的对象相同。您可能希望使用“%p”格式说明符而不是“%@”进行记录,因为您只是对它们的指针值感兴趣。