81 lines
3.0 KiB
Markdown
81 lines
3.0 KiB
Markdown
# 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天)
|
||
|
||
- 各种控件要求的数据格式与相互转换算法
|
||
- 随机输入数据的数组传入与可视化呈现
|