2016-06-27 10 views
0

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]' ** *ファーストスローコールスタック:

スクロールワンピッカーコンポーネントで問題を解決し、すぐに別のコンポーネントアプリケーションクラッシュをスクロールする方法をアドバイスできます。

他のコンポーネントがスクロールを完了するまでコンポーネントをスクロールできない方法はありますか。

+3

配列のインデックスは98で終わり、インデックス114に到達しようとしています。 – Desdenova

答えて

0

NSRangeExceptionは、制限を超えた配列のインデックスにアクセスしようとしていることを意味します。 もう一度、配列を確認してくださいして再度データソースメソッド

  • (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)コンポーネント

  • (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView

関連する問題