2012-02-08 10 views
2

ダブル(2コンポーネント)ピッカービューで作業しています。私が実行すると、ダブルピッカービューが表示されますが、両方のコンポーネントの行に同じ情報が表示されます。ダブル(2コンポーネント)ピッカービューに関する問題

あなたが私を助けることを望むコードはここにあります。
最初のコンポーネントはarray1、2番目のコンポーネントはarray2を表示します。

- (void)viewDidLoad { 
    NSArray *FirstArray1 = [[NSArray alloc] initWithObjects: 
     @"White",@"Whole Wheat",@"Rye",@"Sourdough",@"Seven Grain", nil]; 
    self.Array1 = FirstArray1; 

    NSArray *FirstArray2 = [[NSArray alloc] initWithObjects: 
     @"Turkey",@"Peanut Butter",@"Tuna Salad",@"Chicken Salad",@"Roast Beef", 
     @"Vegemite",nil]; 
    self.Array2 = FirstArray2; 

    [super viewDidLoad]; 
} 

-(NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView 
{ 
    return 2; 
} 

-(NSInteger)pickerView:(UIPickerView *)pickerView 
    numberOfRowsInComponent:(NSInteger)component 
{ 
    return[self.Array1 count]; 
    return[self.Array2 count]; 
} 

-(NSString *)pickerView:(UIPickerView *)pickerView 
    titleForRow:(NSInteger)row 
    forComponent:(NSInteger)component 
{ 
    return [self.Array1 objectAtIndex:row]; 
    return [self.Array2 objectAtIndex:row]; 
} 

答えて

2
-(NSInteger)pickerView:(UIPickerView *)pickerView 
    numberOfRowsInComponent:(NSInteger)component 
{ 
if (component == 0) { 
    return[self.Array1 count]; 
} else if (component == 1) { 
    return[self.Array2 count]; 
} 
return 0; 
} 
1

これは私が物事を管理するために好きなようです...

let pickerData = [["column1_1","column1_2","column1_3","column1_4"], 
        ["column2_1","column2_2","column2_3","column2_4"]] 

func pickerView(pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int { 
    return pickerData[component].count 
} 

部品番号は素晴らしく、単純な配列を、参照します。