简介
全面:课程知识覆盖全面,涵盖了应用开发技术的方方面面。
最新:最新的iOS SDK,最新Xcode开发工具,能够紧跟苹果的步伐。
案例驱动:授课过程中采用案例驱动模式授课模式,从案例入手讲解知识点。
资源共享:课程结束后,所有课程PPT以及案例代码完全提供给学员,以便学员技术巩固及资料积累。
真机运行:授课过程中的案例,会在iPad或iPhone上测试和运行,学员感受更加直观。
培训核心要点
1、基础部分,介绍Swift基础语言。
2、UI部分,iOS应用开发基础、MVC模式设计和UIView与控件。
3、布局与导航部分,介绍了表视图、iOS多分辨率屏幕适配和导航设计模式。
4、架构设计,移动平台的分层架构设计。
5、数据、信息和网络通讯,主要介绍数据持久化技术,数据交换格式,以及网络通讯。
6、单元测试,测试驱动下的iOS应用开发。
7、性能优化,Xcode性能检测工具使用。
课程时长
2天(12H)
受众人群
本课程适用于想从事iPhone、iPod 和iPad开发的程序员、系统设计人员,也适合于想从事Mac OS X下应用开发的程序员和相关人员。学员要有一定的编程基础,了解C、C++或者JAVA语言,了解iOS或者Android系统,喜欢iOS开发,认同苹果的理念。
分享提纲
阶段 | 课程主题 | 课程内容 | |
第一阶段 Swift语言阶段 | 1、Swift基本语法 | · 第一个Swift程序 · Swift语法基础 · 运算符 · Swift原生数据类型 · Swift原生字符串 · 控制语句 · Swift原生集合类型 · 函数和闭包 | 思考问题: 1、你如何看待Swift语言中枚举和结构体也是具有面向对象的特性? 2、请讨论可选类型链的现实意义是什么? |
2、Swift面向对象 | · Swift语言中的面向对象特性 · 属性与下标 · 方法 · 构造与析构 · 类继承 · 扩展 · 协议 · Swift内存管理 · 错误处理 | 思考问题: 1、你如何看待Swift语言中枚举和结构体也是具有面向对象的特性? 2、请讨论可选类型链的现实意义是什么? | |
3、Foundation框架 | · 数字类 · 字符串类 · 数组类 · 字典类 | 实践: 1、请编写一个程序遍历Foundation中数组集合。 2、请编写一个程序遍历Foundation中字典
思考问题: 比较Swift原生集合与Foundation框架中集合区别。 | |
第二阶段 iOS开发 | 1、UI部分 | · 1.Hello iOS · 2. MVC模式 n MVC模式概述 n Cocoa Touch中的MVC模式 n MVC实例 · 3. UIView与控件 n 视图“始祖”——UIView n 标签控件和按钮控件 n TextField控件和TextView控件 n 开关控件、滑块控件和分段控件 n 工具栏和导航栏 | 实践1:创建HelloWorld APP 通过自己动手创建HelloWorld APP熟悉Xcode中参加一个iOS应该过程,熟悉Xcode工程结构。
实践2:Label_ButtonSample案例 通过自己动手创建该案例,熟悉iOS事件处理机制和输出口机制。
实践3:TextField_TextViewSample案例 通过自己动手创建该案例,熟悉视图委托协议的作用。 |
2、布局与导航部分 | · 4. 表视图 n 表视图概述 n 简单表视图 n 分节表视图 · 5. iOS多分辨率屏幕适配 n iOS屏幕的多样性 n iOS屏幕布局 n Auto Layout布局 n Size Class与iOS多屏幕适配 · 6. 视图控制器与导航模式 n 导航概述 n 平铺导航 n 标签导航 n 树形导航 | 实践4:SimpleTable案例 通过自己动手创建该案例,熟悉表视图应用程序创建过程和运行机理。
实践5:SizeClassSample案例 通过自己动手创建该案例,熟悉iOS中Auto Layout和Size Class技术。
实践6:TabNavigation案例 通过自己动手创建该案例,掌握标签导航实现过程。 | |
3、架构设计
| · 7. 移动平台的分层架构设计 n 低耦合企业级系统架构设计 n 移动平台的分层架构设计 n 基于同一工程的分层实现 n 基于一个工作空间不同工程的分层
| 实践7:MyNotes案例 通过自己动手创建该案例,熟悉在Xcode中如何创建工作空间,在工资空间中添加和创建工程,并在工程中配置依赖关系。
实践8:创建框架和静态链接库工程 熟练掌握在Xcode创建框架和静态链接库工程,并配置依赖关系。 | |
4、数据、信息和网络通讯 | · 8. 数据持久化 n 数据持久化概述 n SQLite数据库
· 9. 数据交换格格式 n 数据交换 n JSON数据交换格式
· 10. 网络的编程 n REST Web Service n 使用AFNetworking网络请求框架 n 手工配置AFNetworking环境 n CocoaPods配置AFNetworking环境 n GET请求 n POST请求 | 实践9:重构MyNotes案例 通过自己动手重构MyNotes案例的数据持久层,熟悉SQLite数据持久化技术。
实践10:配置CocoaPods环境 通过自己动手掌握CocoaPods配置过程。
实践11:重构MyNotes案例 通过自己动手重构MyNotes案例,通过AFNetworking技术从云服务器读取数据,熟悉AFNetworking网络请求框架技术。 | |
5、单元测试 | · 11. 测试驱动下的iOS应用开发 n iOS单元测试框架 n 使用XCTest测试框架 n 异步单元测试 n 性能测试 | 实践12:测试PITax案例 通过自己动手为 PITax案例添加XCTest测试用例,掌握XCTest测试框架的使用。
实践13:MyNotes案例性能测试实现 通过自己动手为 MyNotes案例添加XCTest测试用例,掌握XCTest测试框架中性能测试用例实现。
实践14:MyNotes案例异步测试实现 通过自己动手为 MyNotes案例添加XCTest测试用例,掌握XCTest测试框架中异步测试用例实现。 | |
6、性能优化 | · 12. Xcode性能检测工具使用 n 使用Xcode中的Analyze工具 n 使用Xcode中的Instruments工具 · 13. 并发处理与多核CPU n 主线程阻塞问题 n 选择NSThread还是GCD n 使用GCD | 实践15:使用Instruments工具 通过自己动手熟练使用Instruments工具。
实践16:GCDDemo案例 通过自己动手创建该案例,熟悉GCD技术。 |