1

私はいくつかのコードを読んでいて、次のステートメントに出くわしましたが、それはまったく意味がないようです。この行は以下にコード化されています。NSMutableArrayの最初のオブジェクトを受け取り、「count」メッセージを送信します。これは正確に何をしているのですか?

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

誰かが私にこれを説明してもらえますか?私はこれまでこれに出くわしたことがありません。最初は、array [x] .lengthがarray.lengthとは異なる2次元配列シナリオのようなものだと思いましたが、inputDataは10個程度の単一のNSMutableArrayです。

4

2 に答える 2

2

配列(この場合inpuData)にキーと値の一致メカニズムがある場合、このループはそのインデックスをインクリメントしますが、条件が同じであるたびに(カウントは[inputData objectAtIndex:0]変更されない)、これにより無限ループが発生します

于 2012-05-09T14:30:30.243 に答える
0

inputDataが含まれていることが正しければ、何が起こるかというと、最初はに応答しないNSNumberため、例外が発生します。 NSNumber-count

コードが他のことを行う唯一の方法は、 [inputData objectAtIndex:0]に応答する場合-countです。-count配列だけでなく、任意のオブジェクトに応答できます。実際には、もしあれば例外をスローしませinputDatanil。その場合、式は0を返します(returnsに送信objectAtIndex:し、returns 0に送信します)。nilnilcountnil

于 2012-05-09T14:42:32.460 に答える