0

我目前正在尝试在 2D NSMutableArray 中创建和访问数据。我知道我必须将数组嵌套到数组中。问题是我无法访问不同的一维数组。

这是初始化二维数组的代码,所有数组都是 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:]: index 0 beyond bounds for empty array”

你有什么主意吗 ?我会非常喜欢你的帮助,

谢谢你。

4

2 回答 2

0

检查您的 simSections 数组。好像是空的

于 2012-06-05T21:12:01.520 回答
0

您的填充代码对simSections我来说似乎是正确的。那么,我怀疑问题在于实际上并没有为正在执行的对象调用该代码[simSections objectAtIndex:0]

将日志记录添加到两段代码中。记录selfsimSections确保它们与您期望的对象相同。您可能希望使用“%p”格式说明符而不是“%@”进行记录,因为您实际上只是对它们的指针值感兴趣。

于 2012-06-06T08:29:58.413 回答