第1章开始
1.1iOS概述
1.1.1iOS介绍
1.1.2iOS 8新特性
1.2开发环境及开发工具
1.3本书约定
1.3.1实例代码约定
1.3.2图示约定
1.3.3方法命名约定
1.3.4构造器命名约定
1.4创建HelloiOS工程
1.4.1创建工程
1.4.2Xcode中的iOS工程模板
1.4.3应用剖析
1.4.4应用生命周期
1.4.5Xcode中的Project和Target
1.4.6常用的产品属性
1.5iOS API简介
1.5.1API概述
1.5.2如何使用API帮助
1.6小结
第2章Cocoa Touch MVC设计模式
2.1MVC模式
2.1.1MVC模式概述
2.1.2Cocoa Touch MVC模式
2.2视图控制器
2.2.1视图控制器种类
2.2.2视图控制器生命周期
2.3视图与UIView
2.3.1UIView继承层次结构
2.3.2视图分类
2.3.3应用界面的构建层次
2.4界面构建技术
2.4.1使用故事板
2.4.2使用Xib文件
2.4.3使用代码
2.5小结
第3章视图
3.1控件与动作事件
3.1.1按钮
3.1.2定义动作事件
3.2视图与输出口
3.2.1标签
3.2.2定义输出口
3.3视图与委托协议
3.3.1委托设计模式
3.3.2实例: TextField委托协议
3.3.3键盘的打开和关闭
3.3.4键盘的种类
3.4关闭和打开键盘通知
3.4.1通知机制
3.4.2实例: 关闭和打开键盘
3.5Web视图
3.5.1UIWebView类
3.5.2WKWebView类
3.6警告框
3.7操作表
3.8工具栏
3.9导航栏
3.10小结
第4章表视图
4.1表视图中概念
4.1.1表视图组成
4.1.2表视图相关类
4.1.3表视图分类
4.1.4单元格组成和样式
4.1.5数据源协议与委托协议
4.2简单表视图
4.2.1创建简单表视图
4.2.2自定义单元格
4.2.3添加搜索栏
4.3分节表视图
4.3.1添加索引
4.3.2分组
4.4删除和插入单元格
4.5小结
第5章界面布局与Auto Layout技术
5.1iOS界面布局UI设计模式
5.2静态表与表单布局
5.3集合视图
5.3.1集合视图介绍
5.3.2实例: 奥运会比赛项目
5.3.3添加集合视图控制
5.3.4添加集合视图单元格
5.3.5数据源协议与委托协议
5.4Auto Layout布局
5.4.1Auto Layout约束管理
5.4.2实例: Auto Layout布局
5.5小结
第6章屏幕适配与Size Class技术
6.1iOS屏幕
6.1.1iOS屏幕介绍
6.1.2iOS的三种分辨率
6.1.3判断iPhone屏幕尺寸
6.2Size Class技术
6.2.1Interface Builder中使用Size Class
6.2.2Size Class的九宫格
6.2.3实例: 使用Size Class
6.3小结
第7章应用导航模式
7.1导航概述
7.2导航的“死胡同”——模态窗口
7.3平铺导航
7.3.1平铺导航概述
7.3.2使用资源目录管理图片
7.3.3屏幕滚动视图重要的属性
7.3.4分屏导航实现
7.4标签导航
7.4.1标签导航实例
7.4.2标签导航实现
7.5树形结构导航
7.5.1树形结构导航实例
7.5.2树形结构导航实现
7.6组合使用导航模式
7.6.1组合导航实例
7.6.2组合导航实现
7.7小结
第8章手势识别
8.1手势种类
8.2使用手势识别器
8.2.1视图对象与手势识别
8.2.2手势识别状态
8.2.3检测Tap(单击)
8.2.4检测Long Press(长按)
8.2.5检测Pan(平移)
8.2.6检测Swipe(滑动)
8.2.7检测Rotation(旋转)
8.2.8检测Pinch(手指的合拢和张开)
8.2.9检测Screen Edge Pan(屏幕边缘平移)
8.3触摸事件与手势识别
8.3.1事件处理机制
8.3.2响应者对象与响应链
8.3.3触摸事件
8.3.4手势识别
本章小结
第9章项目实战——编写自定义控件PopupControl
9.1选择器
9.1.1日期选择器
9.1.2普通选择器
9.1.3数据源协议与委托协议
9.2自己的选择器
9.2.1自定义选择器控件需求
9.2.2静态链接库
9.2.3框架
9.2.4使用工作空间
9.3实现自定义选择器
9.3.1创建框架工程
9.3.2创建自定义选择器控制器
9.3.3使用Xib构建界面
9.3.4编写选择器控制器委托协议代码
9.3.5编写选择器控制器代码
9.4实现自定义日期选择器
9.4.1创建自定义日期选择器控制器
9.4.2使用Xib构建界面
9.4.3编写日期选择器控制器委托协议代码
9.4.4编写日期选择器控制器代码
9.5测试自定义控件
9.5.1创建工作空间
9.5.2测试程序工程
9.6小结
第10章音频和视频多媒体开发
10.1音频开发
10.1.1音频文件简介
10.1.2音频API简介
10.1.3音频播放
10.1.4音频录制
10.2视频开发
10.2.1视频文件简介
10.2.2视频播放
10.2.3视频录制
本章小结
第11章图形图像开发
11.1使用图像
11.1.1创建图像
11.1.2实例: 从设备图片库选取或从照相机抓取
11.2使用Core Image框架
11.2.1Core Image 框架API
11.2.2滤镜
11.2.3实例: 旧色调和高斯模糊滤镜
本章小结
第12章数据存储
12.1数据存储概述
12.1.1沙箱目录
12.1.2数据存储方式
12.2分层架构设计
12.2.1低耦合企业级系统架构设计
12.2.2iOS分层架构设计
12.3实例: MyNotes应用
12.3.1采用纯Swift语言实现
12.3.2采用Swift调用ObjectiveC混合搭配实现
12.4属性列表
12.5使用SQLite数据库
12.5.1SQLite数据类型
12.5.2创建数据库
12.5.3查询数据
12.5.4修改数据
12.6小结
第13章网络数据交换格式
13.1XML数据交换格式
13.1.1XML文档结构
13.1.2XML文档解析与框架性能
13.1.3实例: MyNotes应用XML
13.2JSON数据交换格式
13.2.1JSON文档结构
13.2.2JSON数据编码/解码与框架性能
13.2.3实例: MyNotes应用JSON解码
13.3小结
第14章REST Web Service
14.1REST Web Service通信技术基础
14.1.1HTTP协议
14.1.2HTTPS协议
14.2使用苹果网络请求API
14.2.1同步请求方法
14.2.2异步请求方法
14.2.3实例: MyNotes插入、修改和删除功能实现
14.3实例: 改善MyNotes用户体验
14.3.1使用下拉刷新控件
14.3.2使用网络活动指示器
14.4使用网络请求框架MKNetworkKit
14.4.1安装和配置MKNetworkKit框架
14.4.2实现GET请求
14.4.3实现POST请求
14.4.4下载数据
14.4.5上传数据
14.5小结
第15章Web Service网络通信架构设计
15.1iOS Web Service网络通信应用的分层架构设计
15.2基于委托模式实现
15.2.1网络通信与委托模式
15.2.2使用委托模式实现分层架构设计
15.2.3类图
15.2.4时序图
15.2.5数据持久层重构
15.2.6业务逻辑层的代码实现
15.2.7表示层的代码实现
15.3基于观察者模式的通知机制实现
15.3.1观察者模式的通知机制回顾
15.3.2异步网络通信中通知机制的分层架构设计
15.3.3类图
15.3.4时序图
15.3.5数据持久层的重构
15.3.6业务逻辑层的代码实现
15.3.7表示层的代码实现
15.4小结
第16章iOS敏捷开发项目实战——价格线酒店预订iPhone客户端开发
16.1应用分析与设计
16.1.1应用概述
16.1.2需求分析
16.1.3原型设计
16.1.4架构设计
16.2iOS敏捷开发
16.2.1敏捷开发宣言
16.2.2iOS可以敏捷开发?
16.2.3iOS敏捷开发一般过程
16.3任务1: 创建工作空间
16.4任务2: 业务逻辑层开发
16.4.1迭代2.1 编写搜索酒店的业务逻辑层类
16.4.2迭代2.2 编写房间查询业务逻辑类
16.5任务3: 表示层开发
16.5.1迭代3.1 根据原型设计初步设计故事板
16.5.2迭代3.2 搜索酒店模块
16.5.3迭代3.2.1 选择城市视图控制器
16.5.4迭代3.2.2 选择关键字视图控制器
16.5.5迭代3.2.3 选择价格和日期选择器
16.5.6迭代3.2.4 酒店搜索视图控制器
16.5.7迭代3.2.5 酒店搜索列表视图控制器
16.5.8迭代3.3 房间查询模块
16.6小结
《iOS实战: 入门与提高卷(Swift版)》
《iOS实战: 图形图像、动画与多媒体卷(Swift版)》
《iOS实战: 传感器卷(Swift版)》
《iOS实战: 苹果“生态圈”编程卷(Swift版)》
《iOS实战: Apple Watch卷(Swift版)》
经过几个月的努力,我们终于在2015年6月1日之前完成初稿,几个月来智捷iOS课堂团队夜以继日,几乎推掉一切社交活动,推掉很多企业邀请讲课的机会,每天工作12小时,不敢有任何的松懈,只专心做一件事情——编写此书。书中每一个文字、每一个图片、每一个实例都是我们的呕心沥血之作。
本套图书的具体进展请读者关注智捷iOS课堂官方网站http://www.51work6.com。
本书网站
为了更好地为广大读者提供服务,我们专门为本书建立了一个网站http://www.51work6.com/ios2.php,读者可以查看相关出版进度,并对书中内容发表评论,提出宝贵意见。
源代码
书中提供了100多个完整的项目案例源代码,全部采用最新的iOS 8.3 API和操作界面,读者可以到本书网站http://www.51work6.com/ios2.php下载。
勘误与支持
我们在本书网站http://www.51work6.com/ios2.php中建立了一个勘误专区,及时地把书中的错误、纰漏和修正方案反馈给广大读者。如果读者在学习过程中,发现了什么问题,可以在网上留言,也可以发送电子邮件到eorient@sina.com,我们会在第一时间回复您。读者也可以在新浪微博(@tony_关东升)中与我们联系。
本书主要由关东升执笔撰写。此外,智捷课堂团队的贾云龙、赵大羽、李玉超、赵志荣、关珊和李政刚也参与了本书的编写工作。感谢清华大学出版社的盛东亮编辑给我们提供了宝贵的意见。感谢赵大羽老师手绘了书中全部草图,并从专业的角度修改书中图片,力求更加真实完美地呈现给广大读者。感谢我的家人对我的理解和支持,使我能投入全部精力,专心编写此书。
由于时间仓促,书中难免存在不妥之处,请读者谅解并提出宝贵意见。
2015年7月 于北京
¥99.00
¥1.00
¥398.00
¥69.90
¥1.00
¥59.90