图书介绍

Swift开发标准教程PDF|Epub|txt|kindle电子书版本网盘下载

Swift开发标准教程
  • 张明,吴琼,陈瑶主编 著
  • 出版社: 北京:人民邮电出版社
  • ISBN:9787115425027
  • 出版时间:2016
  • 标注页数:374页
  • 文件大小:39MB
  • 文件页数:385页
  • 主题词:程序语言-程序设计-教材

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

Swift开发标准教程PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1章 编写第一个Swift程序1

1.1 初识Swift1

1.1.1 Swift的发展1

1.1.2 Swift的特点1

1.1.3 Swift语言的转换2

1.2 构建开发环境2

1.2.1 申请苹果账号3

1.2.2 安装Xcode6

1.2.3 更新新组件和文档9

1.3 编写第一个程序11

1.3.1 创建项目11

1.3.2 Xcode界面介绍13

1.3.3 编译和运行14

1.3.4 编写代码15

1.4 Swift代码分析15

1.4.1 代码构成15

1.4.2 标识符16

1.4.3 关键字16

1.4.4 注释17

1.5 调试18

1.6 使用帮助文档19

1.7 上机实践20

第2章 Swift语言基础21

2.1 常量变量21

2.1.1 常量21

2.1.2 变量21

2.1.3 为声明的变量和常量指定数据类型22

2.2 简单数据类型22

2.2.1 整数22

2.2.2 整型23

2.2.3 浮点类型24

2.2.4 布尔类型25

2.2.5 可选类型25

2.3 字面值26

2.3.1 整型字面值26

2.3.2 浮点类型的字面值26

2.3.3 布尔类型的字面值28

2.4 高级数据类型——元组28

2.5 类型别名29

2.6 字符和字符串29

2.6.1 字符类型与字面值29

2.6.2 字符串类型与字面值30

2.6.3 初始化空字符串31

2.6.4 字符串连接31

2.6.5 字符计数32

2.6.6 判断字符串32

2.6.7 大小写转换34

2.6.8 插入和删除35

2.7 编码格式Unicode37

2.7.1 什么是Unicode37

2.7.2 字符串的Unicode表示形式38

2.8 综合案例40

2.8.1 为圆周率3.1 4159265359指定数据类型40

2.8.2 组成字符串,并插入特殊符号40

2.9 上机实践41

第3章 语句和表达式42

3.1 语句42

3.2 运算符与表达式42

3.2.1 常用术语——元42

3.2.2 赋值运算符和表达式43

3.2.3 算术运算符和表达式43

3.2.4 求余运算符和表达式46

3.2.5 自增自减运算符和表达式47

3.2.6 一元负号运算符49

3.2.7 一元正号运算符50

3.2.8 位运算符50

3.2.9 溢出运算符55

3.2.10 比较运算符和表达式57

3.2.11 三元条件运算符和表达式58

3.2.12 逻辑运算符和表达式58

3.2.13 范围运算符61

3.2.14 复合赋值运算符和表达式62

3.2.15 求字节运算符和表达式63

3.2.16 强制解析63

3.2.17 空合运算符63

3.3 数值类型转换64

3.3.1 整数的转换64

3.2.2 整数和浮点数的转换65

3.4 综合案例66

3.4.1 水仙花数66

3.4.2 将7489逆序输出66

3.5 上机实践67

第4章 集合类型68

4.1 数组68

4.1.1 数组字面量68

4.1.2 数组的声明68

4.1.3 数组的初始化69

4.2 数组的操作71

4.2.1 获取数组中元素个数71

4.2.2 判断数组是否为空71

4.2.3 在末尾添加一个元素72

4.2.4 插入值73

4.2.5 读取值74

4.2.6 修改值74

4.2.7 删除值75

4.3 集合76

4.3.1 集合的声明76

4.3.2 集合的初始化77

4.4 集合的操作78

4.4.1 获取集合中元素个数78

4.4.2 判断集合是否为空78

4.4.3 判断集合中是否包含某一值79

4.4.4 插入值79

4.4.5 删除值79

4.4.6 确定集合的顺序81

4.5 集合的基本运算81

4.5.1 a?b81

4.5.2 a?b82

4.5.3 a-b83

4.5.4 a-b?b-a83

4.6 集合间关系84

4.6.1 相等判断84

4.6.2 子集的判断85

4.6.3 父集合的判断85

4.6.4 其他判断86

4.7 字典86

4.7.1 字典字面量86

4.7.2 字典的声明87

4.7.3 字典的初始化87

4.8 字典的操作88

4.8.1 获取字典中的元素个数88

4.8.2 读取键的值88

4.8.3 添加元素89

4.8.4 修改键关联的值89

4.8.5 删除值90

4.9 综合案例91

4.9.1 求3科成绩的平均值91

4.9.2 获取奇数月92

4.10 上机实践94

第5章 程序控制结构95

5.1 顺序结构95

5.2 选择结构——if语句95

5.2.1 if语句96

5.2.2 if...else语句96

5.2.3 if...else if语句97

5.2.4 if语句的嵌套98

5.3 选择结构——switch语句99

5.3.1 switch语句基本形式99

5.3.2 switch语句的使用规则100

5.4 循环结构——for语句103

5.4.1 for...in循环103

5.4.2 for-condition-increment条件循环108

5.5 循环结构——while语句108

5.5.1 while循环109

5.5.2 repeat while循环110

5.6 跳转语句110

5.6.1 continue语句110

5.6.2 break语句111

5.6.3 fallthrough112

5.7 标签语句112

5.7.1 标签语句的定义113

5.7.2 标签语句的使用113

5.8 综合案例114

5.8.1 打印九九乘法表114

5.8.2 使用if else比较3个数值大小115

5.8.3 计算1~100的奇数和116

5.9 上机实践116

第6章 函数和闭包117

6.1 函数介绍117

6.1.1 函数的功能117

6.1.2 函数的形式118

6.2 使用无参函数118

6.2.1 无参函数的声明定义119

6.2.2 无参函数的调用119

6.2.3 空函数119

6.3 使用有参函数120

6.3.1 有参函数的声明定义120

6.3.2 有参函数的调用120

6.3.3 参数的注意事项121

6.4 函数参数的特殊情况121

6.4.1 函数参数名122

6.4.2 指定外部参数名122

6.4.3 忽略外部参数名122

6.4.4 为参数设置默认值123

6.4.5 可变参数123

6.4.6 常量参数和变量参数124

6.4.7 输入-输出参数124

6.5 函数的返回值125

6.5.1 具有一个返回值的函数125

6.5.2 具有多个返回值的函数126

6.5.3 可选元组返回类型127

6.5.4 无返回值128

6.6 函数类型128

6.6.1 使用函数类型129

6.6.2 使用函数类型作为参数类型129

6.6.3 使用函数类型作为返回值类型130

6.7 标准函数131

6.7.1 绝对值函数abs()131

6.7.2 最大值函数max()/最小值函数min()132

6.7.3 序列排序函数sortInPlace()132

6.7.4 序列倒序函数reverse()133

6.8 函数的嵌套133

6.8.1 嵌套调用134

6.8.2 递归调用135

6.9 闭包135

6.9.1 闭包表达式136

6.9.2 Trailing闭包138

6.9.3 捕获值139

6.10 综合案例140

6.1 0.1 打印金字塔140

6.1 0.2 猴子吃桃141

6.11 上机实践142

第7章 类143

7.1 类与对象143

7.1.1 类的组成143

7.1.2 创建类143

7.1.3 实例化对象144

7.2 属性144

7.2.1 存储属性144

7.2.2 计算属性146

7.2.3 类型属性148

7.2.4 属性监视器150

7.3 方法152

7.3.1 实例方法152

7.3.2 类型方法153

7.3.3 存储属性、局部变量和全局变量的区别155

7.3.4 局部变量和存储属性同名的解决方法——self属性156

7.4 下标脚本157

7.4.1 定义下标脚本157

7.4.2 调用下标脚本157

7.4.3 使用下标脚本158

7.5 类的嵌套160

7.5.1 直接嵌套160

7.5.2 多次嵌套161

7.6 可选链接162

7.6.1 使用可选链接调用代替强制解析163

7.6.2 通过可选链接调用属性、下标脚本、方法163

7.6.3 连接多个链接165

7.7 综合案例166

7.7.1 收支情况166

7.7.2 根据周长计算面积167

7.8 上机实践168

第8章 继承170

8.1 为什么要使用继承170

8.1.1 重用代码、简化代码170

8.1.2 扩展功能170

8.2 继承的实现170

8.2.1 继承的定义170

8.2.2 属性的继承172

8.2.3 下标脚本的继承173

8.2.4 方法的继承174

8.3 继承的特点174

8.3.1 多层继承174

8.3.2 不可删除175

8.4 重写176

8.4.1 重写属性176

8.4.2 重写下标脚本178

8.4.3 重写方法179

8.4.4 访问父类成员180

8.4.5 阻止重写182

8.5 类型转换184

8.5.1 类型检查184

8.5.2 向下转型185

8.5.3 AnyObject和Any的类型转换185

8.6 综合案例187

8.7 上机实践188

第9章 枚举和结构189

9.1 枚举的构成189

9.2 定义枚举189

9.2.1 任意类型的枚举类型189

9.2.2 指定数据类型的枚举类型190

9.3 定义枚举的成员190

9.3.1 定义任意类型的枚举成员190

9.3.2 定义指定数据类型的枚举成员191

9.3.3 定义枚举成员时的注意事项192

9.4 实例化枚举的对象192

9.5 枚举成员与switch匹配192

9.6 访问枚举类型中成员的原始值193

9.6.1 通过成员访问原始值193

9.6.2 通过原始值访问成员194

9.7 关联值195

9.8 定义枚举的其他内容195

9.8.1 定义属性195

9.8.2 定义方法197

9.8.3 定义下标脚本198

9.9 递归枚举199

9.10 结构的构成200

9.11 结构的创建与实例化200

9.11.1 结构的创建200

9.11.2 结构体的实例化200

9.12 定义结构中的内容201

9.12.1 定义属性201

9.12.2 定义方法204

9.12.3 定义下标脚本205

9.13 类、枚举、结构的区别206

9.14 嵌套类型206

9.15 综合案例208

9.15.1 输出对应音符发音208

9.15.2 根据棱长计算正方体的表面积和体积208

9.16 上机实践209

第10章 构造器和析构器210

10.1 值类型的构造器210

10.1.1 默认构造器210

10.1.2 自定义构造器211

10.1.3 构造器代理214

10.2 类的构造器216

10.2.1 默认构造器217

10.2.2 自定义构造器217

10.2.3 构造器代理220

10.2.4 类的两段式构造过程221

10.2.5 构造器的继承和重载222

10.2.6 必要构造器225

10.3 可失败构造器226

10.3.1 定义可失败构造器226

10.3.2 枚举类型的可失败构造器227

10.3.3 类的可失败构造器228

10.3.4 构造失败的传递229

10.3.5 重写一个可失败构造器230

10.3.6 可失败构造器init!231

10.4 构造器的特殊情况232

10.4.1 可选属性类型232

10.4.2 修改常量属性232

10.5 设置默认值233

10.5.1 在定义时直接赋值233

10.5.2 在构造器中赋值233

10.5.3 使用闭包设置属性的默认值234

10.5.4 使用函数设置默认值235

10.6 析构器235

10.6.1 理解析构器235

10.6.2 析构器的定义236

10.6.3 使用析构器236

10.6.4 使用析构器的注意事项237

10.6.5 构造器和析构器的区别239

10.7 综合案例239

10.7.1 游戏属性239

10.7.2 模拟下线通知240

10.8 上机实践240

第11章 扩展和协议241

11.1 扩展241

11.1.1 扩展的定义241

11.1.2 扩展属性241

11.1.3 扩展构造器243

11.1.4 扩展方法244

11.1.5 扩展下标脚本246

11.1.6 扩展嵌套类型247

11.2 协议248

11.2.1 协议的定义248

11.2.2 协议的实现248

11.2.3 协议的成员声明——属性249

11.2.4 协议的成员声明——方法251

11.2.5 协议的成员声明——可变方法252

11.2.6 协议的成员声明——构造器253

11.3 可选协议254

11.3.1 定义可选协议254

11.3.2 声明可选成员254

11.3.3 调用可选协议255

11.4 使用协议256

11.4.1 协议作为常量、变量等的数据类型256

11.4.2 协议作为返回值或参数类型257

11.4.3 协议作为集合的元素类型258

11.5 在扩展中使用协议259

11.5.1 在扩展中实现协议259

11.5.2 定义协议成员259

11.5.3 扩展协议声明260

11.6 协议的继承260

11.7 协议合成262

11.8 检查协议的一致性263

11.9 委托264

11.10 综合案例267

11.11 上机实践268

第12章 Swift语言的其他主题269

12.1 自动引用计数269

12.1.1 自动引用计数的工作机制269

12.1.2 循环强引用的产生270

12.1.3 循环强引用的解决方法273

12.2 运算符重载278

12.2.1 为什么使用运算符重载278

12.2.2 算术运算符的重载278

12.2.3 一元负号/正号运算符的重载279

12.2.4 复合赋值运算符的重载280

12.2.5 自增自减运算符的重载281

12.2.6 比较运算符的重载285

12.2.7 自定义运算符的重载286

12.3 泛型289

12.3.1 泛型函数289

12.3.2 泛型类型290

12.3.3 泛型类的层次结构292

12.3.4 扩展一个泛型类型294

12.3.5 具有多个类型参数的泛型295

12.3.6 类型约束295

12.3.7 关联类型296

12.4 错误处理300

12.4.1 抛出错误300

12.4.2 捕获错误和处理错误301

12.4.3 清理动作302

12.5 综合案例302

12.6 上机实践303

第13章 使用Swift开发iOS应用304

13.1 创建项目304

13.2 运行程序306

13.3 模拟器的操作307

13.3.1 模拟器与真机的区别307

13.3.2 退出应用程序307

13.3.3 应用程序图标的设置307

13.3.4 语言设置309

13.3.5 旋转312

13.3.6 删除应用程序312

13.4 编辑界面313

13.4.1 界面介绍313

13.4.2 设计界面314

13.4.3 视图对象库的介绍316

13.4.4 编写代码317

13.5 上机实践320

第14章 测试和发布App321

14.1 测试App概述321

14.1.1 测试驱动的软件开发流程321

14.1.2 iOS单元测试框架322

14.2 使用XCTest测试框架测试驱动的软件开发案例322

14.2.1 测试案例前期准备322

14.2.2 添加XCTest到项目中326

14.2.3 测试驱动的开发流程328

14.3 发布前的准备工作332

14.3.1 申请付费的开发者账号332

14.3.2 申请App ID335

14.3.3 申请证书336

14.3.4 添加图标343

14.3.5 调整Application Target属性344

14.3.6 为发布进行编译345

14.3.7 应用打包347

14.4 进行发布349

14.4.1 创建应用及基本信息349

14.4.2 应用定价信息352

14.4.3 上传应用353

14.5 常见审核不通过的原因357

14.6 上机实践358

第15章 综合案例:打砖块游戏359

15.1 功能介绍359

15.2 界面设计360

15.2.1 准备工作360

15.2.2 主界面设计361

15.2.3 游戏界面设计362

15.2.4 游戏介绍界面设计363

15.3 功能实现364

15.3.1 界面之间的切换364

15.3.2 打砖块游戏功能368

15.4 真机测试374

热门推荐