2012-04-17 4 views
0

NSArrayから一貫性のない動作が発生していますarrayWithObjects:19要素の配列を作成しようとしていますが、コード行では9要素しか作成されません。文字列を使ったテストが機能します。ここに私が見ているものがあります。NSArray arrayWithObjects:9つのオブジェクトに限定されています

cellButtonsArray = [NSArray arrayWithObjects: @"z", @"z", @"z", @"z", 
        @"z", @"z", @"z", @"z", @"z", @"z", @"z", @"z", @"z", 
        @"z", @"z", @"z", @"z", @"z", @"z", nil]; 

NSLog(@"count of cellButtonsArray = %i", [cellButtonsArray count]); 

出力は「count of cellButtonsArray = 19」です。これはテストコードであり、問​​題ありません。

私の実際のコードでは、ヘッダに宣言されているUIButtonsのオブジェクトを使用しています。 9つの要素からなる2つの配列を使用すると、すべてがうまくいきます。ただし、次のコードは警告もエラーもスローされず、最初の9つのセルで機能します。残りは無視されます。

cellButtonsArray = [NSArray arrayWithObjects:cell0, cell1, cell2, cell3, cell4, 
        cell5, cell6, cell7, cell8, cell9, cell10, cell11, cell12, cell13, 
        cell14, cell15, cell16, cell17, cell18, nil]; 

NSLog(@"count of cellButtonsArray = %i", [cellButtonsArray count]); 

出力は次のとおりです。

"cellButtonsArray = 9のカウントが" 明らかに、カウントは私が期待するものではありません。配列は9個未満のオブジェクトで正しく動作します。そうでなければ、更新されていない9つのボタン(セル)を除いてすべてが機能します。何か案は?

ありがとうございます。

答えて

3

アレイを作成するときにcell9はnilですか?

arrayWithObjectsは、最後に指定したnilだけでなく、nilにヒットしたときにオブジェクトの追加を停止します。

+0

cellbuttonsarrayの作成前に試してみてくださいNSLog(@ "%@%@%@"、cell8、cell9、cell10];それらのうちの1つがnilであれば、それはur回答です – Pochi

+0

驚くべきことです! Cell9は何にも接続されていない、またはどこからでも起動されているダミーです。cell8とcell10の間にギャップを置かずに列挙できます。あなたはその問題をとても素早く見たことが印象的です。 – user1290817

+0

それはそれでした。私はcell9を取り除き、2番目のcell8を挿入して、人生はいいです。ありがとう。 – user1290817

関連する問題