點餐系統思路
來源:程序員人生 發布時間:2014-12-12 08:56:07 閱讀次數:3318次
點餐系統思路
步驟1:遵照和實現UIPickerView的數據源。
步驟2:加載plist文件,把數據寄存在NSArray數組中。
- (NSArray *)foodArray
{
if (_foodArray ==
nil) {
_foodArray = [NSArray arrayWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"foods.plist"
ofType:nil]];
for (int
i =
0; i <
self.foodArray.count; i++) {
[self
pickerView:nil
didSelectRow:0
inComponent:i];
}
}
return _foodArray;
}
步驟3:遵照和實現UIPickerView的代理方法,監聽選中每行的方法。
#pragma mark -
實現代理方法
/**
1共有多少組
*/
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
{
return
self.foodArray.count;
}
/**
1組有多少行
*/
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
{
NSArray *foods =
self.foodArray[component];
return foods.count;
}
/**
1行顯示甚么內容
*/
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component
{
return
self.foodArray[component][row];
}
/**
選中
*/
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
{
if (component ==
0) {
self.fruitLabel.text =
self.foodArray[component][row];
}else
if(component ==
1){
self.mainFoodLabel.text =
self.foodArray[component][row];
}else
if(component ==2){
self.drinkLabel.text =
self.foodArray[component][row];
}
}
步驟4:監聽UIBarButtonItem隨機的事件
- (IBAction)randomClickBtn
{
for (int
i =
0;i <
self.foodArray.count;i++) {
//
根據組算出有多少行
int cou = [self.foodArray[i] count];
//
獲得被選中的
int oldRow = [self.picker selectedRowInComponent:i];
int row = oldRow;
//
如果上1個和下1個相等,就隨機
while (row == oldRow) {
row = arc4random_uniform(cou);
}
[self.picker selectRow:row inComponent:i animated:YES];
[self
pickerView:nil
didSelectRow:row inComponent:i];
}
}
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈