2012-02-18 2 views
0

文字列には、mild,medium,hotという文字列があります。この文字列をコンマで区切って区切ります。pickerViewでも印刷します。
次のコードを使用し、List countを3として正常に取得しました。Iphone:コンマで区切られた文字列を分割し、それぞれの行をpickerviewの行に出力します。

NSString *spList=[mdict objectForKey:@"spicinesstype"]; 
    NSArray *list = [spList componentsSeparatedByString:@","]; 
    NSLog(@"List count:%d",[list count]); 
    return [list count]; 

しかし、どのように私はあなたがあなたのピッカー

- (NSInteger)pickerView:(UIPickerView *)thePickerView numberOfRowsInComponent:(NSInteger)component { 
    return [array count]; 
} 

- (NSString *)pickerView:(UIPickerView *)thePickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component { 
    return [array objectAtIndex:row]; 
} 

- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)thePickerView { 
    return 1; 
} 

答えて

5

で全3件の商品を表示することができます最初に、UIPickerViewDelegateとUIPickerViewDataSourceをView Controllerのヘッダーファイルの@interface行の最後に配置することによって実装する必要があります。このよう

@interface MyViewController : UIViewController <UIPickerViewDelegate, UIPickerViewDataSource>

次はあなたピッカービューのデリゲートとデータソースとしてビューコントローラを設定する必要があります。

myPickerView.delegate = self; 
myPickerView.dataSource = self; 

それとも、それを使用している場合は、Interface Builderでそれをリンクすることができます:あなたは、どちらかの行を追加して、ビューコントローラの- (void)viewDidLoad方法でこれを行うことができます。

次に、これらのデリゲートメソッドをView Controllerソースファイルに実装する必要があります。

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

- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component 
{ 
    // whatever you want to happen when a row is selected. 
} 

- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component; 
{ 
    return [list count]; 
} 

- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component; 
{ 
    return [list objectAtIndex:row]; 
} 
+0

お返事ありがとうございます – nithin

2

のためにこれらの3つのデリゲートメソッドを実装し、ピッカービューのデリゲートとしてクラスを設定する必要がありpickerview

関連する問題