书籍详情
iOS开发实战:从入门到上架App Store(第2版)
作者:张益珲 著
出版社:清华大学出版社
出版时间:2017-09-01
ISBN:9787302483564
定价:¥108.00
购买这本书可以去
内容简介
本书站在开发者的视角,以iOS 10+Xcode 8和Objective-C+Swift 3双语言代码示例,完整地介绍了iOS应用程序从开发到上架的全过程,包含iOS应用开发的各种热点技术和编者多年的开发经验分享。全书共11章,包括:开发环境搭建、界面开发、传感器技术、布局与动画技术、网络和数据技术、打包与上传发布流程等,基本上每一章都配备了实战范例,使读者可以在编写代码中学习编程,在应用开发中提高开发技能。 本书技术先进,注重实战,示例丰富,适合iOS开发新手使用,也很适合作为iOS培训机构的教材或大专院校软件开发课程的教学参考书。
作者简介
张益珲(网名:珲少),工学学士,软件开发工程师,多年iOS开发经验,曾开发iOS平台系列游戏:疯狂越狱1~2、应用物通配货软件、VIPExam考试库、证券财经软件等,现就职于中国唯品会,出版著作《iOS开发实战:从零基础到App Store上架》(清华大学出版社,2016年出版)。
目录
第1章 开发准备 1
1.1 iOS 10新特性简述 2
1.1.1 新增触觉反馈编程接口 2
1.1.2 SiriKit框架的开放 4
1.1.3 引入Messages App 5
1.1.4 通知框架的整合与扩展 6
1.2 熟悉iOS开发环境 6
1.2.1 安装Xcode开发工具 6
1.2.2 了解Xcode开发工具主界面 8
1.2.3 Xcode开发工具的使用技巧及
常用快捷键 9
1.3 创建第一个iOS项目 10
1.4 使用Git进行项目版本管理 13
1.4.1 Git与Github简介 13
1.4.2 注册GitHub会员 13
1.4.3 使用Xcode创建Git仓库 15
1.4.4 用Xcode建立本地Git仓库与
GitHub代码托管平台的关联 16
第2章 基础UI控件 18
2.1 iOS系统UI框架的介绍 19
2.1.1 MVC设计模式 19
2.1.2 代理设计模式 20
2.2 视图控制器——UIViewController 20
2.2.1 UIViewController的生命周期 20
2.2.2 UIViewController的视图层级
结构 27
2.3 文本控件——UILabel 27
2.3.1 使用UILabel在屏幕上创建
一个标签控件 27
2.3.2 自定义标签控件的相关属性 28
2.3.3 多行显示的UILabel与换行模式 30
2.4 按钮控件——UIButton 32
2.4.1 创建一个按钮改变屏幕颜色 32
2.4.2 更加多彩的UIButton控件 35
2.5 文本输入框控件——UITextField 37
2.5.1 在屏幕上创建一个输入框 37
2.5.2 UITextField的常用属性介绍 39
2.5.3 UITextField的代理方法 40
2.5.4 实现一个监听输入信息的用户名
输入框 41
2.6 开关控件——UISwitch 43
2.6.1 创建一个开关控件 43
2.6.2 为UISiwtch控件添加触发方法 44
2.7 分页控制器——UIPageControl 45
2.8 分段控制器——UISegmentedControl 46
2.8.1 UISegmentedControl基本属性的
应用 46
2.8.2 对UISegmentedControl中的按钮
进行增、删、改操作 48
2.8.3 UISegmentedControl中按钮宽度的
自适应 48
2.9 滑块控件——UISlider 49
2.9.1 UISlider的创建与常规设置 49
2.9.2 对UISlider添加图片修饰 51
2.10 活动指示器控件——
UIActivityIndicatorView 51
2.11 进度条控件——UIProgressView 53
2.12 步进控制器——UIStepper 53
2.12.1 步进控制器的基本属性使用 54
2.12.2 自定义UIStepper按钮图片 55
2.13 选择器控件——UIPickerView 56
2.13.1 创建一个UIPickerView控件 56
2.13.2 UIPickerView选中数据时的
回调代理 58
2.14 通过CALayer对视图进行修饰 59
2.14.1 创建圆角的控件 59
2.14.2 创建带边框的控件 60
2.14.3 为控件添加阴影效果 60
2.15 警告控制器——UIAlertController 61
2.15.1 UIAlertController的警告框 61
2.15.2 UIAlertController之活动列表 64
2.16 扩展篇 65
2.16.1 搜索栏控件——UISearchBar 65
2.16.2 日期时间选择器——
UIDatePicker 69
2.16.3 警告视图——UIAlertView 71
2.16.4 活动列表——UIActionSheet 72
2.17 实战:登录注册界面的搭建 73
第3章 高级UI控件 80
3.1 导航控制器——UINavigationController 81
3.1.1 导航控制器的工作原理 81
3.1.2 使用导航控制器进行多界面
搭建 82
3.1.3 导航栏UINavigationBar 85
3.1.4 导航按钮UIBarButtonItem 87
3.1.5 导航控制器的工具栏 90
3.1.6 iOS 8之后导航控制器的一些
有趣功能 91
3.2 标签控制器——UITabBarController 92
3.2.1 标签控制器的工作原理 92
3.2.2 标签控制器的基础用法解析 92
3.2.3 关于UITabBarItem的使用 94
3.3 滚动视图——UIScrollView 96
3.3.1 使用UIScrollView展示视图
内容 96
3.3.2 UIScrollView的代理方法 98
3.4 网络视图——UIWebView 101
3.4.1 App网络传输安全策略 101
3.4.2 通过网络请求加载
UIWebView 102
3.4.3 通过HTML字符串加载
UIWebView 103
3.4.4 通过NSData数据加载
UIWebView 104
3.4.5 UIWebView中常用方法解析 104
3.4.6 UIWebView的代理方法 106
3.5 表格视图——UITableView 107
3.5.1 UITableView的创建与复用
机制 107
3.5.2 创建一个表格视图
UITableView 108
3.5.3 关于表格数据的载体
UITableViewCell 111
3.5.4 设置UITableView的行高和
头尾视图 113
3.5.5 UITableView的用户交互行为 115
3.5.6 为UITableView添加索引栏 118
3.6 复杂布局视图——UICollectionView 119
3.6.1 UICollectionView控件的优势与
布局方式 119
3.6.2 使用UICollectionView进行
九宫格式的布局 119
3.6.3 创建更加灵活的流式布局 122
3.6.4 自定义UICollectionViewFlowLayout进行参差瀑布流布局 123
3.6.5 使用UICollectionView进行圆环
布局 128
3.7 实战:开发一款手机网页浏览器 133
3.7.1 网页浏览器工程的搭建 133
3.7.2 核心网页视图的设计 135
3.7.3 历史记录界面的设计 147
3.7.4 收藏界面的设计 151
3.7.5 启动页面、图标及应用名称的
相关优化 154
第4章 网络编程 157
4.1 使用NSURLConnection请求网络
数据 158
4.1.1 申请一个免费的API服务 158
4.1.2 使用NSURLConnection进行API
服务数据的获取 161
4.1.3 使用NSURLConnection进行异步
网络请求 162
4.1.4 使用NSURLConnection类通过代理
回调的方式异步进行网络请求 164
4.2 设计封装一个更加易用的网络请求类 165
4.2.1 设计自定义的网络请求连接类 166
4.2.2 设计自定义的网络请求管理类 167
4.3 JSON类型数据的解析与数据模型的
设计 171
4.3.1 JSON数据简介 171
4.3.2 在iOS中解析JSON数据 173
4.3.3 数据模型Model类的设计 175
4.4 使用CocoaPods进行第三方库的管理 180
4.4.1 在MAC上安装CocoaPods 180
4.4.2 用CocoaPods搭建一个使用第三方
网络请求框架AFNetworking的
工程 182
4.5 使用AFNetworking进行网络请求 184
4.5.1 详解HTTP/HTTPS协议 184
4.5.2 使用AFNetworking进行网络
请求 185
4.6 实战:开发“笑一笑”应用程序 188
4.6.1 工程项目框架的搭建 188
4.6.2 “笑一笑”界面数据载体cell的
设计 190
4.6.3 “笑一笑”界面的搭建 193
4.6.4 实现下拉刷新与加载更多功能 200
4.6.5 “趣图吧”界面数据载体cell的
设计 203
4.6.6 “趣图吧”界面的设计 207
第5章 音频、视频开发 216
5.1 iOS音频开发基础——AVAudioPlayer
类的使用 217
5.1.1 使用AVAudioPlayer进行MP3
音频文件的播放 217
5.1.2 进行音频播放相关属性的控制 218
5.1.3 后台播放音频及用户交互的
优化 225
5.2 iOS视频开发基础 229
5.2.1 使用MPMoviePlayerController
向应用中嵌入视频模块 230
5.2.2 MPMoviePlayerController常用
属性与方法解析 231
5.3 视频播放器视图控制器——
MPMoviePlayerViewController 236
5.4 AVPlayerViewController视频播放框架与
画中画开发技术 238
5.4.1 使用AVPlayerViewController
进行视频播放 238
5.4.2 iPad的画中画播放技术 241
5.5 实战:“歌手王菲”音频播放器的
开发 244
5.5.1 工程搭建与LRC歌词文件
简介 244
5.5.2 LRC歌词解析引擎的设计 245
5.5.3 核心播放器引擎的设计 253
5.5.4 歌曲列表与歌词显示视图界面的
设计 265
5.5.5 播放器主页面的实现 274
5.5.6 后台播放音频用户交互的处理 285
第6章 动画开发 288
6.1 使用UIImageView播放图片组帧
动画 289
6.2 UIView层动画的应用 290
6.2.1 执行UIView层过渡动画的3个类
方法 290
6.2.2 创建UIView层的阻尼动画 293
6.2.3 动画参数配置与组合动画 293
6.2.4 UIView层过渡动画支持的
属性 297
6.3 使用commit方式进行UIView层动画的
创建 298
6.3.1 使用commit方式进行UIView层
过渡动画的创建 298
6.3.2 两种UIView层动画创建方式的
优劣 300
6.4 UIView的转场动画 300
6.4.1 重绘UIView视图时使用的转场
动画 300
6.4.2 切换UIView视图时使用的转场
动画 302
6.5 核心动画编程技术——CoreAnimation 303
6.5.1 锚点对视图控件几何位置的
影响 303
6.5.2 色彩梯度层——
CAGradientLayer 304
1.1 iOS 10新特性简述 2
1.1.1 新增触觉反馈编程接口 2
1.1.2 SiriKit框架的开放 4
1.1.3 引入Messages App 5
1.1.4 通知框架的整合与扩展 6
1.2 熟悉iOS开发环境 6
1.2.1 安装Xcode开发工具 6
1.2.2 了解Xcode开发工具主界面 8
1.2.3 Xcode开发工具的使用技巧及
常用快捷键 9
1.3 创建第一个iOS项目 10
1.4 使用Git进行项目版本管理 13
1.4.1 Git与Github简介 13
1.4.2 注册GitHub会员 13
1.4.3 使用Xcode创建Git仓库 15
1.4.4 用Xcode建立本地Git仓库与
GitHub代码托管平台的关联 16
第2章 基础UI控件 18
2.1 iOS系统UI框架的介绍 19
2.1.1 MVC设计模式 19
2.1.2 代理设计模式 20
2.2 视图控制器——UIViewController 20
2.2.1 UIViewController的生命周期 20
2.2.2 UIViewController的视图层级
结构 27
2.3 文本控件——UILabel 27
2.3.1 使用UILabel在屏幕上创建
一个标签控件 27
2.3.2 自定义标签控件的相关属性 28
2.3.3 多行显示的UILabel与换行模式 30
2.4 按钮控件——UIButton 32
2.4.1 创建一个按钮改变屏幕颜色 32
2.4.2 更加多彩的UIButton控件 35
2.5 文本输入框控件——UITextField 37
2.5.1 在屏幕上创建一个输入框 37
2.5.2 UITextField的常用属性介绍 39
2.5.3 UITextField的代理方法 40
2.5.4 实现一个监听输入信息的用户名
输入框 41
2.6 开关控件——UISwitch 43
2.6.1 创建一个开关控件 43
2.6.2 为UISiwtch控件添加触发方法 44
2.7 分页控制器——UIPageControl 45
2.8 分段控制器——UISegmentedControl 46
2.8.1 UISegmentedControl基本属性的
应用 46
2.8.2 对UISegmentedControl中的按钮
进行增、删、改操作 48
2.8.3 UISegmentedControl中按钮宽度的
自适应 48
2.9 滑块控件——UISlider 49
2.9.1 UISlider的创建与常规设置 49
2.9.2 对UISlider添加图片修饰 51
2.10 活动指示器控件——
UIActivityIndicatorView 51
2.11 进度条控件——UIProgressView 53
2.12 步进控制器——UIStepper 53
2.12.1 步进控制器的基本属性使用 54
2.12.2 自定义UIStepper按钮图片 55
2.13 选择器控件——UIPickerView 56
2.13.1 创建一个UIPickerView控件 56
2.13.2 UIPickerView选中数据时的
回调代理 58
2.14 通过CALayer对视图进行修饰 59
2.14.1 创建圆角的控件 59
2.14.2 创建带边框的控件 60
2.14.3 为控件添加阴影效果 60
2.15 警告控制器——UIAlertController 61
2.15.1 UIAlertController的警告框 61
2.15.2 UIAlertController之活动列表 64
2.16 扩展篇 65
2.16.1 搜索栏控件——UISearchBar 65
2.16.2 日期时间选择器——
UIDatePicker 69
2.16.3 警告视图——UIAlertView 71
2.16.4 活动列表——UIActionSheet 72
2.17 实战:登录注册界面的搭建 73
第3章 高级UI控件 80
3.1 导航控制器——UINavigationController 81
3.1.1 导航控制器的工作原理 81
3.1.2 使用导航控制器进行多界面
搭建 82
3.1.3 导航栏UINavigationBar 85
3.1.4 导航按钮UIBarButtonItem 87
3.1.5 导航控制器的工具栏 90
3.1.6 iOS 8之后导航控制器的一些
有趣功能 91
3.2 标签控制器——UITabBarController 92
3.2.1 标签控制器的工作原理 92
3.2.2 标签控制器的基础用法解析 92
3.2.3 关于UITabBarItem的使用 94
3.3 滚动视图——UIScrollView 96
3.3.1 使用UIScrollView展示视图
内容 96
3.3.2 UIScrollView的代理方法 98
3.4 网络视图——UIWebView 101
3.4.1 App网络传输安全策略 101
3.4.2 通过网络请求加载
UIWebView 102
3.4.3 通过HTML字符串加载
UIWebView 103
3.4.4 通过NSData数据加载
UIWebView 104
3.4.5 UIWebView中常用方法解析 104
3.4.6 UIWebView的代理方法 106
3.5 表格视图——UITableView 107
3.5.1 UITableView的创建与复用
机制 107
3.5.2 创建一个表格视图
UITableView 108
3.5.3 关于表格数据的载体
UITableViewCell 111
3.5.4 设置UITableView的行高和
头尾视图 113
3.5.5 UITableView的用户交互行为 115
3.5.6 为UITableView添加索引栏 118
3.6 复杂布局视图——UICollectionView 119
3.6.1 UICollectionView控件的优势与
布局方式 119
3.6.2 使用UICollectionView进行
九宫格式的布局 119
3.6.3 创建更加灵活的流式布局 122
3.6.4 自定义UICollectionViewFlowLayout进行参差瀑布流布局 123
3.6.5 使用UICollectionView进行圆环
布局 128
3.7 实战:开发一款手机网页浏览器 133
3.7.1 网页浏览器工程的搭建 133
3.7.2 核心网页视图的设计 135
3.7.3 历史记录界面的设计 147
3.7.4 收藏界面的设计 151
3.7.5 启动页面、图标及应用名称的
相关优化 154
第4章 网络编程 157
4.1 使用NSURLConnection请求网络
数据 158
4.1.1 申请一个免费的API服务 158
4.1.2 使用NSURLConnection进行API
服务数据的获取 161
4.1.3 使用NSURLConnection进行异步
网络请求 162
4.1.4 使用NSURLConnection类通过代理
回调的方式异步进行网络请求 164
4.2 设计封装一个更加易用的网络请求类 165
4.2.1 设计自定义的网络请求连接类 166
4.2.2 设计自定义的网络请求管理类 167
4.3 JSON类型数据的解析与数据模型的
设计 171
4.3.1 JSON数据简介 171
4.3.2 在iOS中解析JSON数据 173
4.3.3 数据模型Model类的设计 175
4.4 使用CocoaPods进行第三方库的管理 180
4.4.1 在MAC上安装CocoaPods 180
4.4.2 用CocoaPods搭建一个使用第三方
网络请求框架AFNetworking的
工程 182
4.5 使用AFNetworking进行网络请求 184
4.5.1 详解HTTP/HTTPS协议 184
4.5.2 使用AFNetworking进行网络
请求 185
4.6 实战:开发“笑一笑”应用程序 188
4.6.1 工程项目框架的搭建 188
4.6.2 “笑一笑”界面数据载体cell的
设计 190
4.6.3 “笑一笑”界面的搭建 193
4.6.4 实现下拉刷新与加载更多功能 200
4.6.5 “趣图吧”界面数据载体cell的
设计 203
4.6.6 “趣图吧”界面的设计 207
第5章 音频、视频开发 216
5.1 iOS音频开发基础——AVAudioPlayer
类的使用 217
5.1.1 使用AVAudioPlayer进行MP3
音频文件的播放 217
5.1.2 进行音频播放相关属性的控制 218
5.1.3 后台播放音频及用户交互的
优化 225
5.2 iOS视频开发基础 229
5.2.1 使用MPMoviePlayerController
向应用中嵌入视频模块 230
5.2.2 MPMoviePlayerController常用
属性与方法解析 231
5.3 视频播放器视图控制器——
MPMoviePlayerViewController 236
5.4 AVPlayerViewController视频播放框架与
画中画开发技术 238
5.4.1 使用AVPlayerViewController
进行视频播放 238
5.4.2 iPad的画中画播放技术 241
5.5 实战:“歌手王菲”音频播放器的
开发 244
5.5.1 工程搭建与LRC歌词文件
简介 244
5.5.2 LRC歌词解析引擎的设计 245
5.5.3 核心播放器引擎的设计 253
5.5.4 歌曲列表与歌词显示视图界面的
设计 265
5.5.5 播放器主页面的实现 274
5.5.6 后台播放音频用户交互的处理 285
第6章 动画开发 288
6.1 使用UIImageView播放图片组帧
动画 289
6.2 UIView层动画的应用 290
6.2.1 执行UIView层过渡动画的3个类
方法 290
6.2.2 创建UIView层的阻尼动画 293
6.2.3 动画参数配置与组合动画 293
6.2.4 UIView层过渡动画支持的
属性 297
6.3 使用commit方式进行UIView层动画的
创建 298
6.3.1 使用commit方式进行UIView层
过渡动画的创建 298
6.3.2 两种UIView层动画创建方式的
优劣 300
6.4 UIView的转场动画 300
6.4.1 重绘UIView视图时使用的转场
动画 300
6.4.2 切换UIView视图时使用的转场
动画 302
6.5 核心动画编程技术——CoreAnimation 303
6.5.1 锚点对视图控件几何位置的
影响 303
6.5.2 色彩梯度层——
CAGradientLayer 304
猜您喜欢