有问题,这段代码
if ([g count] >= 1) {
NSLog(@"%@", [g objectAtIndex:1]);
}
继续产生此错误
reason: '*** -[__NSArrayI objectAtIndex:]: index 1 beyond bounds [0 .. 0]'
除非我发疯,否则这不应该发生,对吧?
此时代码不是多线程的,我正在处理一个简单的数组。如果我NSLog g.count,我得到一个值。
编辑:我也试过if ([g count] > 0) {
NSLog(@"%@", [g objectAtIndex:1]);
}
并得到同样的错误。
答案 0 :(得分:3)
当count
为1时,表示您可以使用索引零。 1
的索引无效。
通常,只有从零到count-1
的索引才有效。
答案 1 :(得分:3)
如果数组的计数== 1那么它只有索引0对吗?
正确的代码是
if ([g count] >= 2) {
NSLog(@"%@", [g objectAtIndex:1]);
}
或
if ([g count] >= 1) {
NSLog(@"%@", [g objectAtIndex:0]);
}
根据您需要的索引。