工业和信息化人才培养规划教材

Swift项目开发基础教程

iOS程序设计 Swift语言程序设计
分享 推荐 1 收藏 6 阅读 2.1K
传智播客·黑马程序员 (编著) 978-7-115-41960-6

关于本书的内容有任何问题,请联系 范博涛

本书涵盖了Swift开发的前沿技术,并提供了综合项目——《2048》游戏开发。
提供免费教学资源,包括精美教学PPT、教学视频、教学设计、教学题库等。
¥49.80 ¥42.33 (8.5 折)
教学资源仅供教师教学使用,转载或另作他用版权方有权追究法律责任。

内容摘要

本书作为一本基于Swift 3.0语法的全新教程,系统全面地讲解了使用Swift开发项目的知识和技术,可以帮助初学者真正达到从零基础到独立开发项目的技术水平,成为Swift开发者。
本书共分为12章:第1~5章讲解了Swift开发的一些基本语法;第6~7章讲解了Swift面向对象的编程思想;第8~10章讲解了Swift的开发特性;第11章讲解了Swift与Objective-C项目的相互迁移;第12章教大家开发《2048》游戏。本书从始至终保持通俗易懂的描述方式,采用理论与案例相结合的方法帮助初学者更好地理解各个知识点在实际开发中的应用。
本书附有源代码、习题、教学视频等配套资源,而且为了帮助初学者更好地学习本教材中的内容,还提供了在线答疑。
本书既可作为高等院校本、专科计算机相关专业的程序设计课程教材,也可作为iOS开发技术的培训教材。

目录

第 1章 Swift开发入门 1
1.1 Swift语言概述 1
1.1.1 什么是Swift语言 1
1.1.2 语言特点 2
1.1.3 开发框架 3
1.1.4 Swift与Objective-C语言对比 3
1.2 Swift开发环境和工具 5
1.2.1 开发环境 5
1.2.2 Xcode概述 6
1.2.3 安装Xcode 8开发工具 7
1.2.4 Swift项目结构 9
1.2.5 帮助文档 11
1.2.6 学习工具—playground 13
1.3 第 一个Swift程序 14
1.4 本章小结 16
1.5 本章习题 16

第 2章 基本语法 18
2.1 关键字和标识符 18
2.1.1 关键字 18
2.1.2 标识符 19
2.2 常量和变量 19
2.2.1 常量和变量的声明 20
2.2.2 类型推断和类型安全 22
2.2.3 输出常量和变量 23
2.3 简单数据类型 24
2.3.1 整型 25
2.3.2 浮点型 27
2.3.3 布尔类型(Bool) 28
2.4 元组类型 29
2.4.1 元组的声明 29
2.4.2 元组变量的访问 30
2.5 基本运算符 31
2.5.1 赋值运算符 31
2.5.2 单目负运算符 32
2.5.3 算术运算符 32
2.5.4 比较运算符 34
2.5.5 三目运算符 35
2.5.6 逻辑运算符 36
2.6 区间运算符 39
2.6.1 闭区间运算符 39
2.6.2 半闭区间运算符 40
2.7 Optional可选类型 41
2.7.1 可选类型的声明 41
2.7.2 解包(Unwrapping) 42
2.7.3 隐式解析可选类型 43
2.8 本章小结 45
2.9 本章习题 45

第3章 控制流 49
3.1 条件语句 49
3.1.1 if条件语句 49
3.1.2 if-let语句 53
3.1.3 guard语句 54
3.1.4 switch语句 55
3.2 循环语句 58
3.2.1 for-in循环 59
3.2.2 while循环 60
3.2.3 repeat-while循环 62
3.3 本章小结 64
3.4 本章习题 64

第4章 字符串和集合 67
4.1 字符 67
4.1.1 字符概述 67
4.1.2 转义字符 67
4.2 字符串 69
4.2.1 初始化字符串 69
4.2.2 字符串的基本操作 70
4.2.3 字符串的操作 73
4.3 集合(Collection) 75
4.3.1 创建数组(Array) 75
4.3.2 数组的常见操作 77
4.3.3 Set 80
4.3.4 字典(Dictionary) 84
4.4 本章小结 86
4.5 本章习题 86

第5章 函数、闭包和枚举 90
5.1 函数 90
5.1.1 函数的定义和调用 90
5.1.2 函数的参数和返回值 91
5.1.3 局部参数名和外部参数名 94
5.1.4 函数参数的其他用法 96
5.1.5 嵌套函数 98
5.2 闭包 99
5.2.1 闭包的概念和定义 99
5.2.2 使用尾随闭包 100
5.2.3 使用闭包表达式 100
5.2.4 捕获 103
5.3 枚举 104
5.3.1 枚举的定义和访问 104
5.3.2 使用Switch语句匹配枚举值 105
5.3.3 原始值 106
5.4 本章小结 107
5.5 本章习题 107

第6章 面向对象(上) 110
6.1 面向对象概述 110
6.2 类和结构体 111
6.2.1 类和结构体的定义 111
6.2.2 类和结构体的实例 115
6.2.3 类和结构体对比 118
6.3 属性 119
6.3.1 存储属性 119
6.3.2 懒存储属性 120
6.3.3 计算属性 121
6.3.4 属性观察器 122
6.3.5 类型属性 124
6.4 方法 127
6.4.1 实例方法 127
6.4.2 类型方法 128
6.5 构造函数 130
6.5.1 构造函数基础 130
6.5.2 重载构造函数 132
6.5.3 指定构造函数与便利构造
 函数 133
6.6 析构函数 134
6.7 下标脚本 135
6.7.1 下标脚本语法 135
6.7.2 下标脚本的使用 136
6.8 本章小结 138
6.9 本章习题 138

第7章 面向对象(下) 141
7.1 面向对象的三大特性 141
7.2 继承和重写 142
7.2.1 继承的概念 142
7.2.2 继承的实现 143
7.2.3 重写 148
7.2.4 final关键字的使用 152
7.2.5 super关键字的使用 154
7.3 构造函数的继承和重写 156
7.3.1 构造函数的调用规则 156
7.3.2 构造过程的安全检查 159
7.3.3 构造函数的自动继承 161
7.3.4 构造函数的重写 164
7.4 封装和多态 166
7.4.1 封装 166
7.4.2 多态 167
7.5 可选链 168
7.5.1 可选链与强制展开 169
7.5.2 可选链访问属性、方法和下标 170
7.6 类型检查和转换 174
7.6.1 类型检查(is操作符) 176
7.6.2 类型转换(as操作符) 176
7.6.3 Any和AnyObject的类型转换 178
7.7 嵌套类型 180
7.8 本章小结 181
7.9 本章习题 181
第8章 扩展和协议 185
8.1 扩展 185
8.1.1 扩展概述 185
8.1.2 扩展计算型属性 186
8.1.3 扩展构造函数 187
8.1.4 扩展方法 189
8.1.5 扩展下标 190
8.2 协议 191
8.2.1 协议概述 191
8.2.2 协议的要求 192
8.2.3 协议作为类型使用 197
8.2.4 协议的继承 200
8.2.5 检查协议一致性 201
8.2.6 代理模式 203
8.3 扩展和协议的结合 204
8.3.1 通过扩展采纳协议 204
8.3.2 协议扩展 206
8.4 本章小结 207
8.5 本章习题 207

第9章 Swift内存管理 212
9.1 Swift内存管理机制 212
9.1.1 自动引用计数工作机制 213
9.1.2 自动引用计数示例 213
9.1.3 类实例之间的循环强引用 215
9.1.4 解决类实例之间的循环强引用 217
9.2 闭包引起的循环强引用 224
9.2.1 闭包引起的循环强引用 224
9.2.2 解决闭包引起的循环强引用 225
9.3 本章小结 228
9.4 本章习题 228

第 10章 Swift的其他特性 232
10.1 泛型 232
10.1.1 泛型函数 232
10.1.2 泛型类型 235
10.1.3 类型约束 239
10.1.4 关联类型 241
10.1.5 where子句 244
10.2 错误处理机制 246
10.2.1 错误的表示 246
10.2.2 错误处理 246
10.2.3 清理操作 250
10.3 访问控制 251
10.3.1 模块、源文件及访问级别 251
10.3.2 类型的访问级别 252
10.3.3 变量常量属性下标及构造函数的
 访问控制 255
10.3.4 协议扩展的访问控制 257
10.4 命名空间 259
10.4.1 查看和修改命名空间 259
10.4.2 使用命名空间 259
10.5 运算符 262
10.5.1 位运算符 263
10.5.2 溢出运算符 267
10.5.3 优先级和结合性 268
10.5.4 运算符函数 271
10.5.5 自定义运算符 274
10.6 本章小结 276
10.7 本章习题 276

第 11章 Swift与Objective-C的相互
 操作 279
11.1 Swift项目中调用Objective-C类 279
11.1.1 实现原理分析 279
11.1.2 创建Swift项目 280
11.1.3 新建Objective-C类 281
11.1.4 在Swift项目中调用Objective-
 C代码 282
11.2 Objective-C项目中调用
 Swift类 284
11.2.1 实现原理分析 285
11.2.2 创建Objective-C项目 285
11.2.3 新建Swift类 286


11.2.4 在Objective-C项目中调用Swift
 代码 288
11.3 Objective-C项目到Swift项目的
 迁移 289
11.3.1 准备工作 289
11.3.2 迁移到Swift项目 292
11.4 本章小结 296
11.5 本章习题 296

第 12章 项目实战——《2048》
 游戏 299
12.1 《2048》游戏项目分析 299
12.1.1 《2048》游戏简介 299
12.1.2 项目架构分析 300
12.2 设置图标、启动画面和新手引导 302
12.2.1 设置应用图标 303
12.2.2 设置启动界面 305
12.2.3 新手引导制作 308
12.3 编写游戏界面 312
12.3.1 添加游戏和设置标签 312
12.3.2 游戏主界面 314
12.3.3 游戏设置界面 317
12.4 编写4×4方格数字界面 320
12.4.1 绘制4×4方格 320
12.4.2 建立方格视图类 323
12.4.3 建立游戏模型 324
12.5 游戏效果实现 327
12.5.1 随机闪现数字 327
12.5.2 响应数字滑动 330
12.5.3 数字响应方向重排 332
12.5.4 合并数字实现与动画 342
12.5.5 游戏通关和结束检测 349
12.6 游戏的其他内容 356
12.6.1 设置游戏参数 356
12.6.2 分数和**高分逻辑处理 359
12.6.3 本地保存游戏**高分 364
12.7 本章小结 366

读者评论

我要评论

作者介绍

传智播客成立于2006年,它是由中国Java培训第一人张孝祥老师发起,联合全球最大的中文IT社区CSDN、中关村软件园共同创办的一家专业教育机 构。办学至今,传智播客一直坚守着“为莘莘学子改变命运而讲课,为千万学生少走弯路而著书”的办学理念,坚持为中国培养优秀软件应用工程师群体为企业的宏 伟目标。为了迎合人才市场的需求,传智播客陆续开设了Java、Android、网页平面、PHP、iOS、C/C++、移动前端、电子商务等专业方向的 课程,并且还将逐渐开设其他专业方向的课程。随着传智播客的日益壮大,除了江苏总部,我们在北京、上海、广州、武汉、成都、深圳、南京、杭州、西安、哈尔 滨、长沙、济南、成都等地都创立了直营分支机构。传智播客俨然已成为了国内最具专业口碑的IT教育机构。

推荐用户

同系列书

相关图书

欢迎加入高校教师IT群
人邮微信
本地服务
教师服务
教师服务
读者服务
读者服务
返回顶部
返回顶部