-1

UIPickerViewView が空の場合[The array is loaded the data from is empty]、ピッカー ビューを選択しようとすると、アプリケーションがクラッシュします。解決策は何ですか

4

2 に答える 2

1

よくわかりませんが、配列が空であり、UIPickerViewそのような[array objectAtindex....];デリゲートメソッドのどこにでも書く必要があるため、エラーが生成されたと思います。

あなたが書く各ステートメントでは[array objectAtindex....];

if(array.count > 0)
  [array objectAtindex....];.. 

したがって、ピッカーは開きますが、エラーは発生しません。

編集:

私はあなたのための解決策を得ました:

-(NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
{
    if ([myArray count] == 0)
        return 1;
    return [myArray count];
}

私のプロジェクトで、私がチェックした他の条件を適用する必要はありません。

于 2013-09-06T08:52:14.450 に答える
0

配列の範囲外の例外が原因のようです。値を選択する際に静的インデックス値を使用しているかどうかを確認してください。

[sourceArray objectAtIndex:0];// ソース配列が空の場合にクラッシュします。

于 2013-09-06T08:52:50.157 に答える