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

IOS开发高级之点餐系统的实现-01相关推荐

  1. 基于springboot框架开发的在线点餐系统

    本系统后台基于springboot开发的在线点餐系统,系统以Java作为编程语言,采用Mysql数据库作为后台数据库. 系统分为商家和普通用户两大角色功能 商家后台功能如下:商家后台管理.菜单管理.订 ...

  2. iOS开发 高级绘图

    概述 在iOS中可以很容易的开发出绚丽的界面效果,一方面得益于成功系统的设计,另一方面得益于它强大的开发框架.今天我们将围绕iOS中两大图形.图像绘图框架进行介绍:Quartz 2D绘制2D图形和Co ...

  3. iOS开发——高级篇——iOS开发之网络安全密码学

    一.非对称加密 - RSA : + 公钥加密,私钥解密: + 私钥加密,公钥解密: + 只能通过因式分解来破解 二.对称加密 - DES - 3DES - AES (高级密码标准,美国国家安全局使用, ...

  4. iOS开发——高级篇——线程同步、线程依赖、线程组

    前言 对于iOS开发中的网络请求模块,AFNet的使用应该是最熟悉不过了,但你是否把握了网络请求正确的完成时机?本篇文章涉及线程同步.线程依赖.线程组等专用名词的含义,若对上述名词认识模糊,可先进行查 ...

  5. 【IOS开发高级系列】异步绘制专题

    1 图片处理 1.1 编辑图片的几个方法 第一种 先用UIImage对象加载一张图片 然后转化成CGImageRef放到CGContext中去编辑 第二种 用CGImageCreate函数创建CGIm ...

  6. 微信小程序开发 | 综合项目-点餐系统

    综合项目-点餐系统 8.1 开发前准备 8.1.1 项目展示 8.1.2 项目分析 8.1.3 项目初始化 8.1.4 封装网络请求 8.2 [任务1]商家首页 8.2.1 任务分析 8.2.2 焦点 ...

  7. iOS开发——高级技术内购服务

    内购服务 大家都知道做iOS开发本身的收入有三种来源:出售应用.内购和广告.国内用户通常很少直接 购买应用,因此对于开发者而言(特别是个人开发者),内购和广告收入就成了主要的收入来源.内购营销模式,通 ...

  8. iOS 开发 高级:通过AirServer使用AirPlay镜像并实现多屏幕显示控制

    AirPlay是iOS中一个很酷的功能,通过Wi-Fi连接支持AirPlay的设备,然后使用镜像功能就能在其他设备显示内容,播放声音.有很多大型的游戏都支持AirPlay,这样比如连接电视时,那么iP ...

  9. iOS开发高级分享 - App间账号共享与SDK封装

    本篇博客就先封装一个LoginSDK, 让后将该SDK植入到两个App中(一个暂且叫做"App One", 另一个暂且称为"App Two").当App One ...

最新文章

  1. 大厂程序员追求深圳女老师被拉黑!原因你想不到!
  2. 100个必会的python脚本-100行Python代码实现自动抢火车票(附源码)
  3. WPF中的一些常用类型转换
  4. 三星调侃iPhone13苍岭绿配色:受宠若惊
  5. YouSwap将于5月10日15:00新增CATE流动性挖矿
  6. 【干货】数字经济百项场景.pdf(附下载链接)
  7. 【Pro ASP.NET MVC 3 Framework】.学习笔记.4.MVC的主要工具-使用Moq
  8. Protel常用封装库
  9. 离散数学及其应用(一)
  10. 华北电力大学计算机学科排名,2018年华北电力大学世界排名、中国排名、专业排名...
  11. Windows Defender
  12. CSS---通向臃肿的道路(关于 “separation of concerns” (SoC)的原则)
  13. SHOI 2008 仙人掌图 BZOJ 1023
  14. cesium--entity
  15. nginx-ingress设置日志格式-配置转发真实ip-超时参数配置-会话保持参数
  16. php获取当前日期所在自然周周一周末以及前后自然周始末
  17. 一兆宽带服务器搭建网站,云服务器宽带只有一兆
  18. ARM7中断处理过程、状态、嵌套
  19. Android学习-通知的使用详解
  20. 绩效考核OKR怎么做?

热门文章

  1. python pip全称_“ pip install”和“ pip install”之间有什么区别和“ python -m pip install”?...
  2. 编写jmeter测试用例_JMeter 编写接口测试用例遇到的问题及解决
  3. 计算机安装与维修 等级,电脑升级究竟要怎么升级?维修多年的老师傅说出其中答案!...
  4. 别再叫我“老工”!!!工程师姓什么很重要!
  5. 玩转嵌入式,且看痞子衡
  6. 小米10Pro手机双击android,小米10Pro:不完美,但很小米。
  7. php 循环多条件,怎么循环带条件的数组
  8. python数据库操作框架_python bottle 框架操作数据库
  9. Vue项目中v-for无法渲染数据
  10. WUSTOJ 1282: Start(Java)