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