#import "CHViewController.h"
@interface CHViewController () <UIPickerViewDataSource,UIPickerViewDelegate>
- (IBAction)random:(UIButton *)sender;
@property (weak, nonatomic) IBOutlet UIPickerView *pickerView;
@property (strong,nonatomic) NSArray *foods;
@property (weak, nonatomic) IBOutlet UILabel *fruitLabel;
@property (weak, nonatomic) IBOutlet UILabel *stapleLabel;
@property (weak, nonatomic) IBOutlet UILabel *drinkLabel;
@end
@implementation CHViewController
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
for (int component = 0; component < self.foods.count; component++) {
[self pickerView:nil didSelectRow:0 inComponent:component];
}
}
//懒加载foods
- (NSArray *)foods{
if(!_foods){
NSString *path = [[NSBundle mainBundle] pathForResource:@"foods.plist" ofType:nil];
_foods = [NSArray arrayWithContentsOfFile:path];
}
return _foods;
}
#pragma mark - UIPickerViewDataSource
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView{
NSLog(@"%d",self.foods.count);
return self.foods.count;
}
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component{
NSArray *array = self.foods[component];
return array.count ;
}
#pragma mark - UIPickerViewDelegate
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component{
NSArray *nameArray = self.foods[component];
NSString *name = nameArray[row];
return name;
}
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component{
NSString *name = self.foods[component][row];
switch (component) {
case 0:
NSLog(@"水果:%@",name);
_fruitLabel.text = name;
break;
case 1:
NSLog(@"主菜:%@",name);
_stapleLabel.text = name;
break;
case 2:
NSLog(@"饮料:%@",name);
_drinkLabel.text = name;
break;
default:
break;
}
}
- (IBAction)random:(UIButton *)sender {
// [self.pickerView selectRow:arc4random()%12 inComponent:0 animated:YES];
// [self.pickerView selectRow:arc4random()%15 inComponent:1 animated:YES];
// [self.pickerView selectRow:arc4random()%10 inComponent:2 animated:YES];
for (int component = 0; component < self.foods.count; component++) {
NSArray *array = self.foods[component];
int random = arc4random()%(array.count);
NSLog(@"random:%d",random);
[self.pickerView selectRow:random inComponent:component animated:YES];
[self pickerView:self.pickerView didSelectRow:random inComponent:component];
}
}
@end
可以把点菜的文字换成图片加文字的形式,更直观