IOS开发高级之点餐系统的实现-01
//
// ViewController.m
// 01-点餐系统
//
// Created by 鲁军 on 2021/2/11.
//
#import "ViewController.h"
@interface ViewController () <UIPickerViewDataSource,UIPickerViewDelegate>
@property(nonatomic,strong)NSArray *foods;
@property (weak, nonatomic) IBOutlet UILabel *lblFruit;
@property (weak, nonatomic) IBOutlet UILabel *lblMainFood;
@property (weak, nonatomic) IBOutlet UILabel *lblBar;
- (IBAction)randomBtn:(id)sender;
@property (weak, nonatomic) IBOutlet UIPickerView *pickerView;
@end
@implementation ViewController
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component{
NSString *selFood = self.foods[component][row];
NSLog(@"%@",selFood);
switch (component) {
case 0:
_lblFruit.text = selFood;
break;
case 1:
_lblMainFood.text = selFood;
break;
case 2:
_lblBar.text = selFood;
break;
}
}
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component{
NSArray *comFoods = self.foods[component];
NSString *food = comFoods[row];
return food;
}
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView{
return self.foods.count;
}
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component{
return [self.foods[component] count];
}
- (NSArray *)foods{
if(_foods==nil){
_foods = [NSArray arrayWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"foods.plist" ofType:nil]];
}
return _foods;
}
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
for(int i =0;i<self.foods.count;i++){
[self pickerView:self.pickerView didSelectRow:0 inComponent:i];
}
}
- (IBAction)randomBtn:(id)sender {
for(int i =0; i<self.foods.count;i++){
NSUInteger count = [self.foods[i] count];
u_int32_t radNum =arc4random_uniform((int)count);
NSInteger selRowNum = [self.pickerView selectedRowInComponent:i];
while (selRowNum ==radNum) {
radNum=arc4random_uniform((int)count);
}
[self.pickerView selectRow:radNum inComponent:i animated:YES];
[self pickerView:self.pickerView didSelectRow:radNum inComponent:i];
}
}
@end