NSMutableArray计数

时间:2012-05-09 14:24:27

标签: objective-c nsmutablearray

我正在阅读一些代码并且我发现了以下声明,它似乎完全没有意义。该行编码如下。它接受NSMutableArray的第一个对象,然后发送“count”消息。到底是做什么的?

for (int j = 0; j < [[inputData objectAtIndex:0] count]; j++)
//inputData is just an NSMutableArray

有人可以向我解释一下吗?我以前从未见过这个。我想起初可能它就像一个二维数组场景,其中array [x] .length与array.length不同,但inputData只是一个类似10个数字的NSMutableArray。

2 个答案:

答案 0 :(得分:2)

如果您的数组(在这种情况下为inpuData)具有键值匹配机制,则此循环将增加其索引但是因为每次条件相同([inputData objectAtIndex:0]的计数将永远不会改变)这将导致无限循环

答案 1 :(得分:0)

如果你inputData包含NSNumber是正确的,那么第一次会发生异常,因为NSNumber没有回复-count

代码执行其他任何操作的唯一方法是[inputData objectAtIndex:0]响应-count。它可以是响应-count而不仅仅是数组的任何对象。实际上,如果inputDatanil,它也不会抛出异常。然后表达式返回0(将objectAtIndex:发送到nil返回nil,将count发送到nil返回0)。