Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone:拆分一个以逗号分隔的字符串,并在pickerview的行中打印每个字符串_Iphone_Objective C_Ios_Uipickerview - Fatal编程技术网

Iphone:拆分一个以逗号分隔的字符串,并在pickerview的行中打印每个字符串

Iphone:拆分一个以逗号分隔的字符串,并在pickerview的行中打印每个字符串,iphone,objective-c,ios,uipickerview,Iphone,Objective C,Ios,Uipickerview,我得到了一个字符串作为轻度、中度、热。我用逗号作为分隔符拆分了字符串。我还需要在pickerView中打印它。 我使用了以下代码并成功地将列表计数设置为3 NSString *spList=[mdict objectForKey:@"spicinesstype"]; NSArray *list = [spList componentsSeparatedByString:@","]; NSLog(@"List count:%d",[list count]); ret

我得到了一个字符串作为
轻度、中度、热
。我用逗号作为分隔符拆分了字符串。我还需要在pickerView中打印它。
我使用了以下代码并成功地将列表计数设置为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;
}

首先,您需要通过将UIPickerViewDeleteGate和UIPickerViewDataSource放在视图控制器头文件的@interface行的末尾来实现它们

如下所示:
@interface MyViewController:UIViewController

接下来,需要将视图控制器设置为选择器视图的委托和数据源。您可以通过添加以下行,在视图控制器的
-(void)viewDidLoad
方法中执行此操作:

myPickerView.delegate = self;
myPickerView.dataSource = self;
或者,如果您正在使用Interface Builder,也可以将其链接到Interface Builder中

然后,需要在视图控制器源文件中实现这些委托方法

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