访问2D NSMutableArray Objective-C

时间:2012-06-05 21:06:36

标签: objective-c nsmutablearray

我目前正在尝试在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超出空数组的界限'

你知道吗?我非常感谢你的帮助,

谢谢。

2 个答案:

答案 0 :(得分:0)

检查你的simSections数组。它似乎是空的

答案 1 :(得分:0)

您填写simSections的代码似乎对我而言。我怀疑,那个问题是那个代码实际上并没有为那个正在做[simSections objectAtIndex:0]的对象调用。

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