我得到了一个字符串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和UIPickerView DataSource放在视图控制器的头文件的@interface行的末尾来实现它们。
像这样:@interface MyViewController : UIViewController <UIPickerViewDelegate, UIPickerViewDataSource>
接下来,您需要将视图控制器设置为选取器视图的委托和数据源。您可以在视图控制器的- (void)viewDidLoad
方法中添加以下行:
myPickerView.delegate = self;
myPickerView.dataSource = self;
如果您正在使用接口生成器,也可以在接口生成器中将其链接起来。
然后,您需要在视图控制器源文件中实现这些委托方法。
(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];
}