簡體   English   中英

Iphone:用逗號分隔字符串,並在pickerview行中打印每個字符串

[英]Iphone:Split a string seperated by comma and print each in row of pickerview

我得到了mild,medium,hot的字符串。我用逗號作為分隔符分割了字符串。我也需要在pickerView中打印它。
我使用以下代碼,成功將List計數為3。

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

但是我怎么能在pickerview中顯示所有3個項目

您應該將您的類設置為Picker視圖的委托,然后為您的Picker實現這3個委托方法

- (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;
}

首先,您需要通過將UIPickerViewDelegate和UIPickerViewDataSource放在視圖控制器的頭文件的@interface行的末尾來實現它們。

像這樣: @interface MyViewController : UIViewController <UIPickerViewDelegate, UIPickerViewDataSource>

接下來,您需要將視圖控制器設置為選擇器視圖的委托和數據源。 您可以通過添加以下行,在視圖控制器的- (void)viewDidLoad方法中執行此操作:

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

或者,您也可以在Interface Builder中將其鏈接起來。

然后,您需要在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];
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM