点餐系统思路
来源:互联网 发布:it解决方案 编辑:程序博客网 时间:2024/04/29 23:11
点餐系统思路
步骤一:遵守和实现UIPickerView的数据源。
步骤二:加载plist文件,把数据存放在NSArray数组中。- (NSArray *)foodArray
{
if (_foodArray ==nil) {
_foodArray = [NSArray arrayWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"foods.plist"ofType:nil]];
for (inti = 0; i < self.foodArray.count; i++) {
[selfpickerView:nildidSelectRow:0inComponent:i];
}
}
return _foodArray;
}
步骤三:遵守和实现UIPickerView的代理方法,监听选中每一行的方法。
#pragma mark -实现代理方法
/**一共有多少组*/
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
{
return self.foodArray.count;
}
/**一组有多少行*/
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
{
NSArray *foods = self.foodArray[component];
return foods.count;
}
/**一行显示什么内容*/
- (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];
}elseif(component ==1){
self.mainFoodLabel.text =self.foodArray[component][row];
}elseif(component ==2){
self.drinkLabel.text =self.foodArray[component][row];
}
}
步骤四:监听UIBarButtonItem随机的事件
- (IBAction)randomClickBtn
{
for (inti = 0;i < self.foodArray.count;i++) {
// 根据组算出有多少行
int cou = [self.foodArray[i] count];
// 取得被选中的
int oldRow = [self.picker selectedRowInComponent:i];
int row = oldRow;
// 如果上一个和下一个相等,就随机
while (row == oldRow) {
row = arc4random_uniform(cou);
}
[self.picker selectRow:row inComponent:i animated:YES];
[selfpickerView:nildidSelectRow:row inComponent:i];
}
}
0 0
- 点餐系统思路
- 房产中介系统 给点思路
- [转帖]关于开发系统后门软件的几点思路
- 关于开发系统后门软件的几点思路
- 关于开发系统后门软件的几点思路
- 关于开发系统后门软件的几点思路
- 高并发Web系统架构解决方案的几点思路
- 无线点餐系统
- android 点餐系统
- android点餐系统
- 饭店点餐系统
- 智能点餐系统
- 模拟点餐系统
- java点餐系统
- 给点思路
- android 点餐系统 构思
- android 点餐系统 构思
- android 点餐系统 构思
- 图_邻接矩阵
- Java基础——常用API
- Eclipse中debug的一些操作
- 杂谈---潜意识
- 学习笔记 简单的位运算
- 点餐系统思路
- memcpy 优化源码
- gdb常用调试命令
- Android应用开发详解
- unsaved-value的经典解释
- 数据加密与解密
- LeetCode----Maximum Depth of Binary Tree
- 汇编编译器伪指令
- NYOJ 527 AC_mm玩dota