产品特色
编辑推荐
- 畅销书《iOS开发指南》作者力作 - 基于Swift 2.x,教你如何从零开始开发并上架应用 - 涵盖Cocoa Touch框架、混合编程(Objective-C、C/C++与Swift)、并发编程、SpriteKit等
内容简介
本书基于Swift 2.x,通过大量案例全面介绍苹果平台的应用开发。全书共分5 部分,包括Swift 语法篇、CocoaTouch 框架编程篇、混合编程篇、进阶篇、项目实战篇,囊括了开发工具介绍、语言基础知识、编写HelloWorld 程序,直至应用在App Store 上线的所有内容。此外,本书前20 章专门配有同步练习,以帮助读者掌握所学知识。
作者简介
关东升,iOS和Cocos技术作家、iOS技术顾问、Cocos有价值专家(CVP)、智捷课堂首席培训专家、51CTO社区iOS技术顾问。
他精通iOS、Android和Windows及HTML5等移动开发技术,擅长应用和游戏类项目开发,曾先后主持开发:大型网络游戏《神农诀》的iOS和Android客户端;国家农产品追溯系统的iPad客户端;酒店预订系统的iOS客户端;金融系统的iOS、Windows及Android客户端。与此同时,他长期为中国移动研究院、方正科技、大唐电信、中国石油、工商银行、南方航空、惠普、东软集团、NTT等企事业单位提供技术咨询及员工培训。
另著有:
《iOS开发指南》
《Swift开发指南》
《iOS传感器应用开发实践》
《iOS网络编程与云端应用实践》
《iOS图形图像、动画和多媒体编程技术实践》
《品味移动设计》
《交互设计的艺术》
《iPhone与iPad开发实战》
《Android开发案例驱动教程》
《Android网络游戏开发实战》
《Cocos2d-x实战:C++卷》
《Cocos2d-x实战:JS卷》
《Cocos2d-x实战:Lua卷》
《Cocos2d-x实战:工具卷》
目录
第一部分 Swift 语法篇
第1 章 准备起航 2
1.1 本书约定 2
1.1.1 示例代码约定 2
1.1.2 图示约定 3
1.1.3 函数和方法签名约定 4
1.1.4 承接上一行代码约定 5
1.1.5 代码行号约定 5
1.2 Swift 开发工具 6
1.2.1 Xcode 开发工具 6
1.2.2 AppCode 开发工具 12
1.3 本章小结 13
1.4 同步练习 13
第2 章 第一个Swift 程序 14
2.1 使用REPL 14
2.1.1 启动Swift REPL 14
2.1.2 使用Swift REPL 15
2.2 使用Playground 16
2.2.1 编程利器Playground 16
2.2.2 编写HelloWorld 程序 18
2.3 使用Web 网站 21
2.4 通过Xcode 创建OS X 工程 22
2.4.1 创建OS X 工程 22
2.4.2 编译和运行 23
2.5 通过AppCode 创建OS X 工程 24
2.5.1 创建OS X 工程 24
2.5.2 编译和运行 25
2.6 使用swiftc 命令 27
2.6.1 编译 27
2.6.2 运行 28
2.7 代码解释 28
2.8 在Linux 下编译和运行Swift 程序 29
2.9 本章小结 32
2.10 同步练习 32
第3 章 Swift 语法基础 33
3.1 标识符和关键字 33
3.1.1 标识符 33
3.1.2 关键字 34
3.2 常量和变量 35
3.2.1 常量 35
3.2.2 变量 36
3.2.3 使用var 还是let 36
3.3 注释 37
3.4 表达式 38
3.5 本章小结 39
3.6 同步练习 39
第4 章 运算符 41
4.1 算术运算符 41
4.1.1 一元运算符 41
4.1.2 二元运算符 41
4.1.3 算术赋值运算符 43
4.2 关系运算符 43
4.3 逻辑运算符 45
4.4 位运算符 46
4.5 其他运算符 47
4.6 本章小结 48
4.7 同步练习 48
第5 章 Swift 原生数据类型 50
5.1 Swift 数据类型 50
5.2 整型 50
5.3 浮点型 51
5.4 数字表示方式 52
5.4.1 进制数字表示 52
5.4.2 指数表示 52
5.4.3 其他表示 53
5.5 数字类型之间的转换 53
5.5.1 整型之间的转换 53
5.5.2 整型与浮点型之间的转换 54
5.6 布尔型 54
5.7 元组类型 54
5.8 可选类型 56
5.8.1 可选类型概念 56
5.8.2 可选类型值拆包 56
5.8.3 可选绑定 57
5.9 本章小结 57
5.10 同步练习 57
第6 章 Swift 原生字符串 59
6.1 字符 59
6.1.1 Unicode 编码 59
6.1.2 转义符 60
6.2 创建字符串 61
6.3 可变字符串 61
6.3.1 字符串拼接 61
6.3.2 字符串插入、删除和替换 62
6.4 字符串比较 63
6.4.1 大小和相等比较 63
6.4.2 前缀和后缀比较 64
6.5 本章小结 65
6.6 同步练习 65
第7 章 控制语句 66
7.1 分支语句 66
7.1.1 if 语句 66
7.1.2 switch 语句 68
7.1.3 guard 语句 69
7.2 循环语句 71
7.2.1 while 语句 71
7.2.2 repeat-while 语句 73
7.2.3 for 语句 74
7.2.4 for-in 语句 75
7.3 跳转语句 76
7.3.1 break 语句 76
7.3.2 continue 语句 78
7.3.3 fallthrough 语句 79
7.4 范围与区间运算符 81
7.4.1 switch 中使用区间运算符 81
7.4.2 for-in 中使用区间运算符 82
7.5 值绑定 83
7.5.1 if 中的值绑定 83
7.5.2 guard 中的值绑定 84
7.5.3 switch 中的值绑定 85
7.6 where 语句 85
7.6.1 switch 中使用where 语句 86
7.6.2 for-in 中使用where 语句 86
7.6.3 guard 中使用where 语句 86
7.7 本章小结 87
7.8 同步练习 87
第8 章 Swift 原生集合类型 91
8.1 Swift 中的数组集合 91
8.1.1 数组声明和初始化 92
8.1.2 可变数组 93
8.1.3 数组遍历 94
8.2 Swift 中的字典集合 94
8.2.1 字典声明与初始化 95
8.2.2 可变字典 96
8.2.3 字典遍历 97
8.3 Swift 中的Set 集合 98
8.3.1 Set 声明和初始化 98
8.3.2 可变Set 集合 99
8.3.3 Set 集合遍历 100
8.3.4 Set 集合运算 101
8.4 本章小结 102
8.5 同步练习 102
第9 章 函数 104
9.1 使用函数 104
9.2 传递参数 105
9.2.1 使用外部参数名 105
9.2.2 省略外部参数名 105
9.2.3 参数默认值 106
9.2.4 可变参数 106
9.2.5 参数的传递引用 107
9.3 函数返回值 107
9.3.1 无返回值函数 107
9.3.2 多返回值函数 108
9.4 函数类型 108
9.4.1 作为函数返回类型使用 109
9.4.2 作为参数类型使用 110
9.5 嵌套函数 111
9.6 本章小结 112
9.7 同步练习 112
第10 章 闭包 115
10.1 回顾嵌套函数 115
10.2 闭包的概念 115
10.3 使用闭包表达式 116
10.3.1 类型推断简化 117
10.3.2 隐藏return 关键字 117
10.3.3 省略参数名 118
10.3.4 使用闭包返回值 118
10.4 使用尾随闭包 119
10.5 捕获上下文中的变量和常量 120
10.6 本章小结 121
10.7 同步练习 121
第11 章 Swift 语言中的面向对象特性 123
11.1 面向对象概念和基本特征 123
11.2 Swift 中的面向对象类型 123
11.3 枚举 124
11.3.1 成员值 124
11.3.2 原始值 126
11.3.3 相关值 127
11.4 结构体与类 128
11.4.1 类和结构体定义 128
11.4.2 再谈值类型和引用类型 129
11.4.3 引用类型的比较 131
11.4.4 运算符重载 132
11.5 类型嵌套 133
11.6 可选链 134
11.6.1 可选链的概念 134
11.6.2 使用问号(?)和感叹号(!) 136
11.7 访问限定 136
11.7.1 访问范围 137
11.7.2 访问级别 138
11.7.3 使用访问级别最佳实践 138
11.8 选择类还是结构体最佳实践 140
11.8.1 类和结构体的异同 141
11.8.2 选择的原则 141
11.9 本章小结 142
11.10 同步练习 142
第12 章 属性与下标 146
12.1 存储属性 146
12.1.1 存储属性概念 146
12.1.2 延迟存储属性 147
12.2 计算属性 148
12.2.1 计算属性的概念 148
12.2.2 只读计算属性 150
12.2.3 结构体和枚举中的计算属性 150
12.3 属性观察者 151
12.4 静态属性 153
12.4.1 结构体静态属性 154
12.4.2 枚举静态属性 155
12.4.3 类静态属性 156
12.5 使用下标 156
12.5.1 下标概念 157
12.5.2 示例:二维数组 157
12.6 本章小结 159
12.7 同步练习 159
第13 章 方法 160
13.1 实例方法 160
13.1.1 使用规范的命名 160
13.1.2 结构体和枚举方法变异 163
13.2 静态方法 165
13.2.1 结构体静态方法 165
13.2.2 枚举静态方法 166
13.2.3 类静态方法 166
13.3 本章小结 167
13.4 同步练习 167
第14 章 构造与析构 168
14.1 构造函数 168
14.1.1 默认构造函数 168
14.1.2 构造函数与存储属性初始化 169
14.1.3 使用外部参数名 170
14.2 构造函数重载 172
14.2.1 构造函数重载概念 172
14.2.2 构造函数代理 172
14.2.3 类构造函数横向代理 173
14.3 析构函数 174
14.4 本章小结 176
14.5 同步练习 176
第15 章 类继承 178
15.1 从一个示例开始 178
15.2 构造函数继承 179
15.2.1 构造函数调用规则 179
15.2.2 构造过程安全检查 180
15.2.3 构造函数继承 184
15.3 重写 186
15.3.1 重写实例属性 186
15.3.2 重写静态属性 188
15.3.3 重写实例方法 189
15.3.4 重写静态方法 190
15.3.5 下标重写 190
15.3.6 使用final 关键字 191
15.4 类型检查与转换 193
15.4.1 使用is 进行类型检查 194
15.4.2 使用as、as!和as?进行类型转换 195
15.4.3 使用Any 和AnyObject 类型 197
15.5 本章小结 198
15.6 同步练习 198
第16 章 扩展 200
16.1 “轻量级”继承机制 200
16.2 声明扩展 200
16.3 扩展计算属性 201
16.4 扩展方法 202
16.5 扩展构造函数 203
16.5.1 值类型扩展构造函数 203
16.5.2 引用类型扩展构造函数 204
16.6 扩展下标 204
16.7 本章小结 205
16.8 同步练习 205
第17 章 协议 206
17.1 协议概念 206
17.2 协议 206
17.3 协议方法 207
17.3.1 协议实例方法 207
17.3.2 协议静态方法 208
17.3.3 协议变异方法 208
17.4 协议属性 210
17.4.1 协议实例属性 210
17.4.2 协议静态属性 211
17.5 面向协议编程 211
17.5.1 协议类型 212
17.5.2 协议的继承 214
17.5.3 协议扩展 215
17.5.4 协议的合成 216
17.5.5 扩展中遵从协议 217
17.5.6 面向协议编程示例:表视图中使用
扩展协议 217
17.6 本章小结 220
17.7 同步练习 220
第18 章 泛型 222
18.1 一个问题的思考 222
18.2 泛型函数 222
18.2.1 使用泛型函数 223
18.2.2 多类型参数 223
18.3 泛型类型 223
18.4 泛型扩展 225
18.5 本章小结 226
18.6 同步练习 226
第19 章 Swift 内存管理 227
19.1 Swift 内存管理概述 227
19.1.1 引用计数 227
19.1.2 示例:Swift 自动引用计数 228
19.2 强引用循环 229
19.3 打破强引用循环 233
19.3.1 弱引用 233
19.3.2 无主引用 236
19.4 闭包中的强引用循环 238
19.4.1 一个闭包中的强引用循环示例 238
19.4.2 解决闭包强引用循环 239
19.5 本章小结 241
19.6 同步练习 241
第20 章 错误处理 243
20.1 Cocoa 错误处理模式 243
20.2 do-try-catch 错误处理模式 244
20.2.1 捕获错误 244
20.2.2 错误类型 244
20.2.3 声明抛出错误 245
20.2.4 在函数或方法中抛出错误 245
20.2.5 try?和try!的使用区别 246
20.3 示例:MyNotes 应用数据持久层实现 247
20.3.1 MyNotes 应用介绍 247
20.3.2 MyNotes 应用数据持久层设计 248
20.3.3 实现Note 实体类 248
20.3.4 NoteDAO 代码实现 249
20.3.5 使用defer 语句释放资源 250
20.3.6 测试示例 251
20.4 本章小结 252
20.5 同步练习 252
第21 章 Swift 编码规范 253
21.1 命名规范 253
21.2 注释规范 255
21.2.1 文件注释 255
21.2.2 文档注释 255
21.2.3 代码注释 256
21.2.4 使用地标注释 257
21.3 声明 259
21.3.1 变量或常量声明 259
21.3.2 属性声明 260
21.4 代码排版 260
21.4.1 空行 260
21.4.2 空格 261
21.4.3 断行 262
21.4.4 缩进 263
21.5 本章小结 265
第二部分 Cocoa Touch 框架编程篇
第22 章 Foundation 框架 268
22.1 数字类NSNumber
从零开始学Swift 下载 mobi epub pdf txt 电子书 格式