iOS应用开发最佳实践
Andy Guan 查看讲师
百林哲咨询(北京)有限公司专家团队成员
国内知名iOS技术作家,iOS技术顾问,移动开发专家,51CTO iOS技术顾问。精通iOS、Android和 Windows Phone及Html5等移动开发技术,精通Cocos2d-x等游戏开发技术。独立编写10多本畅销著作。
浏览:4308次
详情 DETAILS

简介

全面:课程知识覆盖全面,涵盖了应用开发技术的方方面面。

最新:最新的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模式

MVC模式概述

Cocoa Touch中的MVC模式

MVC实例

· 3. UIView与控件

视图“始祖”——UIView

标签控件和按钮控件

TextField控件和TextView控件

开关控件、滑块控件和分段控件

工具栏和导航栏

实践1:创建HelloWorld APP

通过自己动手创建HelloWorld APP熟悉Xcode中参加一个iOS应该过程,熟悉Xcode工程结构。

 

实践2:Label_ButtonSample案例

通过自己动手创建该案例,熟悉iOS事件处理机制和输出口机制。

 

实践3:TextField_TextViewSample案例

通过自己动手创建该案例,熟悉视图委托协议的作用。

2、布局与导航部分

· 4. 表视图

表视图概述

简单表视图

分节表视图

· 5. iOS多分辨率屏幕适配

iOS屏幕的多样性

iOS屏幕布局

Auto Layout布局

Size Class与iOS多屏幕适配

· 6. 视图控制器与导航模式

导航概述

平铺导航

标签导航

树形导航

实践4:SimpleTable案例

通过自己动手创建该案例,熟悉表视图应用程序创建过程和运行机理。

 

实践5:SizeClassSample案例

通过自己动手创建该案例,熟悉iOS中Auto Layout和Size Class技术。

 

实践6:TabNavigation案例

通过自己动手创建该案例,掌握标签导航实现过程。

3、架构设计

 

· 7. 移动平台的分层架构设计

低耦合企业级系统架构设计

移动平台的分层架构设计

基于同一工程的分层实现

基于一个工作空间不同工程的分层

 

实践7:MyNotes案例

通过自己动手创建该案例,熟悉在Xcode中如何创建工作空间,在工资空间中添加和创建工程,并在工程中配置依赖关系。

 

实践8:创建框架和静态链接库工程

熟练掌握在Xcode创建框架和静态链接库工程,并配置依赖关系。

4、数据、信息和网络通讯

· 8. 数据持久化

数据持久化概述

SQLite数据库

 

· 9. 数据交换格格式

数据交换

JSON数据交换格式

 

· 10. 网络的编程

REST Web Service

使用AFNetworking网络请求框架

手工配置AFNetworking环境

CocoaPods配置AFNetworking环境

GET请求

POST请求

实践9:重构MyNotes案例

通过自己动手重构MyNotes案例的数据持久层,熟悉SQLite数据持久化技术。

 

实践10:配置CocoaPods环境

通过自己动手掌握CocoaPods配置过程。

 

实践11:重构MyNotes案例

通过自己动手重构MyNotes案例,通过AFNetworking技术从云服务器读取数据,熟悉AFNetworking网络请求框架技术。

5、单元测试

· 11. 测试驱动下的iOS应用开发

iOS单元测试框架

使用XCTest测试框架

异步单元测试

性能测试

实践12:测试PITax案例

通过自己动手为 PITax案例添加XCTest测试用例,掌握XCTest测试框架的使用。

 

实践13:MyNotes案例性能测试实现

通过自己动手为 MyNotes案例添加XCTest测试用例,掌握XCTest测试框架中性能测试用例实现。

 

实践14:MyNotes案例异步测试实现

通过自己动手为 MyNotes案例添加XCTest测试用例,掌握XCTest测试框架中异步测试用例实现。

6、性能优化

· 12. Xcode性能检测工具使用

使用Xcode中的Analyze工具

使用Xcode中的Instruments工具

· 13. 并发处理与多核CPU

主线程阻塞问题

选择NSThread还是GCD

使用GCD

实践15:使用Instruments工具

通过自己动手熟练使用Instruments工具。

 

实践16:GCDDemo案例

通过自己动手创建该案例,熟悉GCD技术。


   

 


预约内训 APPLY
前往提交您的需求,我们会及时与您联系
课程推荐 COURSE

企业服务热线:400-106-2080
电话:18519192882
投诉建议邮箱:venus@bailinzhe.com
合作邮箱:service@bailinzhe.com
总部地址:
北京市-丰台区-汽车博物馆东路6号3号楼1单元902-B73(园区)
全国客户服务中心:
天津市-南开区-桂苑路15号鑫茂集团鑫茂军民园1号楼A座802-803
公众号
百林哲咨询(北京)有限公司 京ICP备2022035414号-1