将NSMutableArray访问到没有值的索引

时间:2009-11-27 14:06:35

标签: iphone nsmutablearray

如果我尝试使用objectAtIndex:x访问nsmutableArray,并且如果我在此索引中没有对象,我的应用程序总是会崩溃。

所以我的问题是:如果这个索引有什么东西我可以检查,而不会崩溃应用程序?

我希望你理解我的问题。 谢谢,Alex

5 个答案:

答案 0 :(得分:5)

检查您的索引是否在数组的边界范围内:

   if (index >=0 && index < [myArray count])
    ...

答案 1 :(得分:1)

NSArray有一个名为“count”的方法。 在可变数组上调用 count ,它会告诉你数组中元素的数量。

答案 2 :(得分:1)

如果你在数组的范围内,你将始终拥有一个介于0和[array count]之间的特定索引的对象,因为数组中不能有nil个值的空白。

答案 3 :(得分:1)

你有两个选择:使用count方法确保你在数组的范围内,或者当你尝试使用{{1}时捕获异常}用计数检查范围会很多比捕获异常更低的开销。

如果您不知道 - NSArray中没有“漏洞” - 从索引0到数组末尾的对象([objectAtIndex:)都可以访问。

答案 4 :(得分:0)

试试这个

for(i=0; i< [myMutableArrayObject count]; i++) {
NSLog(@"%@",[[myMutableArrayObject objectAtIndex: i] myMethodDefined]);
}

在这里,我们使用一个名为 count 的预定义方法,它返回MutableArray对象中的对象数量 然后是另一个方法 objectAtIndex ,它以0到(count - 1)的间隔迭代对象。

此致 萨米特