iOS开发
开源贡献:李岳昆、易远哲,特别鸣谢:杨皓博、贾献华
任务说明
iOS开发对硬件的要求较为严格,我们建议身边有Mac/iMac相关设备同学进行学习。如果您有对iOS开发感兴趣的话,也欢迎您加入本次课程!我们将提供基于Swift的基础语法教程与基于Swift的基础算法实现,此外,我们也将提供一种在虚拟机运行MacOS的方案。
由于设备不同,我们提出了两种学习路线:1. MacOS端对算法内容不做硬性要求,可根据实际需要进行学习,但需要完成Swift语言搭建基础的app界面,了解app开发的一般流程;2. 其他端可仅进行Swift语法的学习,并用Swift构建基础的算法内容。对于Task 02 部分的控件功能和实现仅需了解即可。3.我们添加了一些可选任务,同学们如果有条件的话,可以选择性的做一做,加深对移动端开发的了解。
MacOS
Task 00:Swift基础语法入门(2天)
- 了解Swift语言基础语法与面向协议编程特点
- 学习可选类型、闭包特性、类与结构体
Task 01:基础插件与功能实现(4天)
- 学习UIView、UILabel、UIButton、UIImageView、UITextfield等基础控件的使用
- 学习UIScrollView、UITableView与Cell等的设置和启动
- 学习动画、音频、视频与基础权限等内容实现
- 初识Cocopods,利用优秀的第三方库简化开发流程
- 代码启动、注册页面跳转、设置app的logo与启动页面
Task 02:项目练习(5天)
- 酒店管理系统
- 贪吃蛇
- 智能识别水果app
- ARKit实现KNN简易demo
Task 02:Datawhale项目练习(5天)(可选)
-
项目介绍
-
完成底部Tabbar功能开发
-
完成Me界面设置
-
完成注册/登录功能开发
-
提醒功能开发
Task 03:大作业Statistics in Time(3天)
- 明确app开发的一般流程
- 通过Cocopods引入基本的第三方库对app进行优化
- 通过代码对控件进行设置与页面搭建
Task 03:大作业Datawhale首页开发(4天)(可选)
- 故事板模块开发
- 日历模块开发
- 记录模块开发
- 形成业务闭环
iPad、Linux或Windows虚拟机
Task 00:Swift基础语法入门(2天)
- 了解Swift语言基础语法与面向协议特点
- 学习闭包特性与基础控件
Task 01:基础插件与功能实现(4天)
- 学习Label、Button、Textfield等基础控件的使用
- 学习TableView、ScrollView与Cell等的设置和启动
- 学习动画、音频、视频与基础权限等内容实现
- 初识Cocopods,利用优秀的第三方库简化开发流程
- 代码启动、注册页面跳转、设置app的logo与启动页面
Task 02:算法实现(5天)
- 三种递归问题求解
- 搜索问题
- 图问题
- 动态规划与旅行商问题
Task 03:Statistics in Time的算法探究(3天)
- 各种控件要求的数据格式与相互转换算法
- 随机输入数据的数组传入与可视化呈现