UIpickerviewの別のコンポーネントをスクロールすると、アプリケーションがクラッシュしてコンポーネントが変更されます。メーターの足」フィートインチのための別の高さのためアプリケーションがスクロールしてクラッシュするUIPickerView
MutableArray 1。 両方のカウントは、それぞれ200カウントのカウントが異なります。 フィートアレイ数99.
最初のコンポーネントには2つの測定単位があります。フィート&メーター、選択に基づいてそれぞれの配列を表示しています。数の
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component {
if (pickerView == self.heightPickerView && component == 0)
return [self.heightTypeArray count];
else if (pickerView == self.heightPickerView && component == 1){
if ([self.heightPickerView selectedRowInComponent:0] == 0)
return [self.meterListArray count];
else if ([self.heightPickerView selectedRowInComponent:0] == 1)
return [self.feetInchListArray count];
}
return 0;
}
リターンでクラッシュ[self.feetInchListArray objectAtIndex:行]。 配列が範囲外です。
- (NSString *)pickerView:(UIPickerView *)pickerView
titleForRow:(NSInteger)row
forComponent:(NSInteger)component{
if (component == 0) {
return [self.heightTypeArray objectAtIndex:row];
}
else if (pickerView == self.heightPickerView && component == 1){
if ([self.heightPickerView selectedRowInComponent:0] == 0)
return [self.meterListArray objectAtIndex:row];
else if (pickerView == self.heightPickerView && [self.heightPickerView selectedRowInComponent:0] == 1){
return [self.feetInchListArray objectAtIndex:row];
}
クラッシュログ:
*キャッチされない例外により 'NSRangeException' にアプリを終了、理由: '* - [__ NSArrayM objectAtIndex:]:インデックスが範囲を超え114 [0 .. 98]' ** *ファーストスローコールスタック:
スクロールワンピッカーコンポーネントで問題を解決し、すぐに別のコンポーネントアプリケーションクラッシュをスクロールする方法をアドバイスできます。
他のコンポーネントがスクロールを完了するまでコンポーネントをスクロールできない方法はありますか。
配列のインデックスは98で終わり、インデックス114に到達しようとしています。 – Desdenova