图书介绍

Swift入门很简单【2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载】

Swift入门很简单
  • 陈隽,刘媛媛编著 著
  • 出版社: 北京:清华大学出版社
  • ISBN:9787302388807
  • 出版时间:2015
  • 标注页数:373页
  • 文件大小:59MB
  • 文件页数:390页
  • 主题词:程序语言-程序设计

PDF下载


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

下载说明

Swift入门很简单PDF格式电子书版下载

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

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

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

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

图书目录

第1篇 Swift开发基础2

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

1.1 初识Swift2

1.1.1 Swift的诞生2

1.1.2 Swift的特点与不足2

1.2 搭建开发环境3

1.2.1 安装Xcode 63

1.2.2 安装组件4

1.2.3 更新组件和文档5

1.3 编写第一个程序5

1.3.1 创建项目6

1.3.2 Xcode 6.1 界面介绍9

1.3.3 编译和运行11

1.3.4 编写代码11

1.3.5 生成可执行文件12

1.4 Swift代码分析14

1.4.1 代码的构成14

1.4.2 标识符14

1.4.3 关键字15

1.4.4 注释16

1.4.5 文件构成17

1.5 使用帮助文档17

第2章 数据类型19

2.1 常量和变量19

2.1.1 常量19

2.1.2 变量20

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

2.2 简单的数据类型21

2.2.1 整数(Integer)21

2.2.2 整型22

2.2.3 浮点类型23

2.2.4 字符类型/字符串类型25

2.2.5 布尔类型26

2.2.6 可选类型26

2.3 字面值27

2.3.1 整型字面值27

2.3.2 浮点类型的字面值28

2.3.3 字符型字面值29

2.3.4 字符串字面值29

2.3.5 布尔类型的字面值30

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

2.5 类型别名33

第3章 语句和表达式34

3.1 语句34

3.2 运算符与表达式34

3.2.1 常用术语——元34

3.2.2 赋值运算符和表达式35

3.2.3 算术运算符和表达式35

3.2.4 取余运算符和表达式38

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

3.2.6 一元减运算符41

3.2.7 一元加运算符41

3.2.8 位运算符41

3.2.9 溢出运算符48

3.2.10 比较运算符和表达式50

3.2.11 三元条件运算符51

3.2.12 逻辑运算符和表达式52

3.2.13 范围运算符55

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

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

3.2.16 强制解析57

3.3 类型转换58

3.3.1 整数的转换58

3.3.2 整数和浮点数的转换59

第4章 字符串61

4.1 字符串的初始化61

4.1.1 字符串的种类61

4.1.2 初始化空的字符串62

4.1.3 使用字符串初始化字符串62

4.1.4 计算字符个数63

4.1.5 遍历字符63

4.2 字符串组合63

4.2.1 字符串与字符组合64

4.2.2 字符串与字符串组合65

4.3 字符串判断66

4.3.1 判断字符串是否为空66

4.3.2 判断字符串相等66

4.3.3 判断前缀67

4.3.4 判断后缀68

4.4 大小写转换69

4.4.1 大写转换69

4.4.2 小写转换69

4.5 Unicode编码70

4.5.1 Unicode术语70

4.5.2 Unicode字符串70

4.5.3 UTF-8编码71

4.5.4 UTF-16编码71

4.5.5 UTF标量72

第5章 集合类型73

5.1 数组73

5.1.1 数组字面量73

5.1.2 数组的定义73

5.1.3 数组的初始化74

5.2 数组的操作76

5.2.1 获取数组中元素的个数76

5.2.2 判断数组是否为空76

5.2.3 判断两个数组是否共用相同的元素77

5.2.4 复制数组78

5.2.5 在末尾添加一个元素78

5.2.6 插入值79

5.2.7 读取值80

5.2.8 修改值80

5.2.9 删除值82

5.2.10 遍历数组84

5.3 字典85

5.3.1 字典字面量85

5.3.2 字典的定义85

5.3.3 字典的初始化86

5.4 字典的操作87

5.4.1 获取字典中的元素个数87

5.4.2 读取键的值87

5.4.3 添加元素88

5.4.4 修改键关联的值88

5.4.5 删除键89

5.4.6 遍历91

5.5 可变的集合类型92

第6章 程序控制结构93

6.1 顺序结构93

6.1.1 程序的执行流程93

6.1.2 代码调试94

6.2 选择结构——if语句95

6.2.1 if语句95

6.2.2 if...else语句96

6.2.3 if...else if语句97

6.3 选择结构——switch语句99

6.3.1 switch语句基本形式99

6.3.2 规则1:相同的常量或常量表达式101

6.3.3 规则2:可执行的语句不能为空102

6.3.4 规则3:多条件组合102

6.3.5 规则4:范围匹配102

6.3.6 规则5:使用元组103

6.3.7 规则6:数值绑定104

6.3.8 规则7:使用where关键字105

6.4 循环结构——for语句106

6.4.1 for...in循环107

6.4.2 for-condition-increment条件循环108

6.5 循环结构——while语句109

6.5.1 while循环110

6.5.2 do while循环111

6.6 跳转语句112

6.6.1 continue语句112

6.6.2 break语句113

6.6.3 fallthrough语句114

6.6.4 使用标签语句114

第7章 函数和闭包117

7.1 函数介绍117

7.2 使用无参函数118

7.2.1 无参函数的声明定义118

7.2.2 无参函数的调用119

7.2.3 空函数120

7.3 使用有参函数120

7.3.1 有参函数的声明定义120

7.3.2 有参函数的调用121

7.3.3 参数的注意事项122

7.4 函数参数的特殊情况123

7.4.1 本地参数名123

7.4.2 外部参数名123

7.4.3 设定参数默认值125

7.4.4 为外部参数设置默认值126

7.4.5 可变参数126

7.4.6 常量参数和变量参数127

7.4.7 输入-输出参数128

7.5 函数的返回值130

7.5.1 具有一个返回值的函数130

7.5.2 具有多个返回值的函数130

7.5.3 无返回值132

7.6 函数类型132

7.6.1 使用函数类型133

7.6.2 使用函数类型作为参数类型134

7.6.3 使用函数类型作为返回值类型134

7.7 标准函数135

7.7.1 绝对值函数abs()135

7.7.2 最大值函数max()/最小值函数min()136

7.7.3 序列的最大值函数maxElement()/最小值函数minElement()137

7.7.4 判断序列是否包含指定元素函数contains()138

7.7.5 序列排序函数sort()139

7.7.6 序列倒序函数reverse()139

7.8 函数嵌套调用形式140

7.8.1 嵌套调用基本形式140

7.8.2 递归调用141

7.9 闭包142

7.9.1 闭包表达式143

7.9.2 使用闭包表达式的注意事项146

7.9.3 Trailing闭包147

7.9.4 捕获值148

第2篇 面向对象编程152

第8章 类152

8.1 类与对象152

8.1.1 类的组成152

8.1.2 创建类152

8.1.3 实例化对象153

8.2 属性153

8.2.1 存储属性154

8.2.2 计算属性158

8.2.3 类型属性162

8.2.4 属性监视器165

8.3 方法168

8.3.1 实例方法168

8.3.2 类型方法171

8.3.3 存储属性、局部变量和全局变量的区别174

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

8.4 下标脚本176

8.4.1 定义下标脚本176

8.4.2 调用下标脚本177

8.4.3 使用下标脚本177

8.5 类的嵌套181

8.5.1 直接嵌套181

8.5.2 多次嵌套182

8.6 可选链接184

8.6.1 可选链接的实现方式184

8.6.2 通过可选链接调用属性、下标脚本和方法185

8.6.3 连接多个链接188

第9章 继承189

9.1 为什么使用继承189

9.1.1 减少代码量189

9.1.2 扩展功能190

9.2 继承的实现191

9.2.1 继承的定义191

9.2.2 属性的继承191

9.2.3 下标脚本的继承193

9.2.4 方法的继承193

9.3 继承的特点194

9.3.1 多层继承194

9.3.2 不可删除196

9.4 重写196

9.4.1 重写属性196

9.4.2 重写下标脚本199

9.4.3 重写方法200

9.4.4 重写的注意事项201

9.4.5 访问父类成员202

9.4.6 阻止重写205

9.5 类型检查208

9.5.1 类型检查——is208

9.5.2 类型检查——as210

9.5.3 AnyObject和Any的类型检查212

第10章 枚举类型215

10.1 枚举类型的组成215

10.2 定义枚举类型215

10.2.1 任意类型的枚举类型216

10.2.2 指定数据类型的枚举类型216

10.3 定义枚举类型的成员217

10.3.1 定义任意类型的枚举成员217

10.3.2 定义指定数据类型的枚举类型成员218

10.3.3 注意事项220

10.4 实例化枚举类型的对象221

10.5 访问枚举类型中成员的原始值221

10.5.1 通过成员访问原始值221

10.5.2 通过原始值获取成员223

10.6 枚举成员与switch匹配224

10.7 相关值226

10.8 定义枚举类型的属性227

10.8.1 计算属性228

10.8.2 类型属性228

10.8.3 属性监视器229

10.9 定义枚举类型的下标脚本229

10.10 定义枚举类型的方法230

10.10.1 实例方法230

10.10.2 类型方法232

10.11 枚举类型的应用233

10.11.1 为常量/变量赋值233

10.11.2 作为函数的参数234

10.12 枚举类型嵌套235

10.12.1 直接嵌套235

10.12.2 多次嵌套236

第11章 结构238

11.1 结构的定义和实例化238

11.1.1 结构的构成238

11.1.2 定义结构238

11.1.3 实例化对象239

11.2 定义结构的属性239

11.2.1 存储属性239

11.2.2 计算属性241

11.2.3 类型属性242

11.2.4 添加属性监视器242

11.2.5 初始化实例对象243

11.3 定义结构的下标脚本245

11.4 定义结构的方法246

11.4.1 实例方法246

11.4.2 类型方法247

11.5 结构嵌套248

11.5.1 直接嵌套248

11.5.2 多次嵌套249

11.6 类、枚举类型和结构的区别251

11.7 类、枚举和结构的嵌套251

11.7.1 枚举使用在类中252

11.7.2 枚举使用在结构中252

11.7.3 类使用在结构中253

第12章 构造方法和析构方法255

12.1 值类型的构造器255

12.1.1 默认构造器255

12.1.2 自定义构造器256

12.1.3 构造器代理260

12.2 类的构造器264

12.2.1 默认构造器264

12.2.2 自定义构造器264

12.2.3 构造器代理269

12.2.4 构造器的继承和重载270

12.3 构造器的特殊情况277

12.3.1 可选类型277

12.3.2 修改常量属性278

12.4 类的构造278

12.5 设置默认值280

12.5.1 在定义时直接赋值280

12.5.2 在构造器中赋值281

12.5.3 使用闭包设置属性的默认值281

12.5.4 使用函数设置默认值283

12.6 析构方法283

12.6.1 理解析构283

12.6.2 析构方法的定义284

12.6.3 使用析构方法284

12.6.4 构造方法和析构方法的区别286

第13章 扩展和协议287

13.1 扩展287

13.1.1 扩展的定义287

13.1.2 扩展属性287

13.1.3 扩展构造器290

13.1.4 扩展方法292

13.1.5 扩展下标脚本294

13.1.6 扩展嵌套类型295

13.2 协议296

13.2.1 协议的定义296

13.2.2 协议的实现296

13.2.3 协议的成员声明——属性298

13.2.4 协议的成员声明——方法301

13.2.5 协议的成员声明——可变方法303

13.3 可选协议304

13.3.1 定义可选协议305

13.3.2 声明可选成员305

13.3.3 调用可选协议307

13.4 使用协议类型309

13.4.1 协议类型作为常量、变量等的数据类型309

13.4.2 协议类型的返回值或参数309

13.4.3 协议类型作为集合的元素类型310

13.5 在扩展中使用协议311

13.5.1 在扩展中实现协议311

13.5.2 定义协议成员311

13.5.3 扩展协议声明312

13.6 协议的继承312

13.7 协议组合314

13.8 检查协议的一致性315

13.9 委托316

第3篇 Swift高级开发技术320

第14章 自动引用计数(ARC)320

14.1 自动引用计数的工作机制320

14.2 循环强引用的产生322

14.2.1 类实例之间的循环强引用322

14.2.2 闭包引起的循环强引用324

14.3 循环强引用的解决方法326

14.3.1 解决类实例之间的循环强引用326

14.3.2 解决闭包引起的循环强引用331

第15章 运算符重载335

15.1 为什么使用运算符重载335

15.2 算术运算符的重载335

15.3 一元减/加运算符的重载337

15.3.1 一元减运算符的重载337

15.3.2 一元加运算符的重载338

15.4 复合赋值运算符的重载338

15.5 自增自减运算符的重载340

15.5.1 自增运算符的重载340

15.5.2 自减运算符的重载342

15.6 比较运算符的重载344

15.6.1 “==”相等运算符的重载344

15.6.2 “!=”不相等运算符的重载345

15.6.3 其他比较运算符的重载346

15.7 自定义运算符的重载347

15.7.1 前置自定义运算符的重载347

15.7.2 中置自定义运算符的重载348

15.7.3 后置自定义运算符的重载349

15.7.4 自定义运算符的优先级和结合性351

15.8 注意事项357

15.8.1 重载后运算符的优先级357

15.8.2 不可以重载的运算符358

第16章 泛型359

16.1 为什么使用泛型359

16.2 泛型函数360

16.3 泛型类型361

16.3.1 泛型枚举361

16.3.2 泛型结构361

16.3.3 泛型类363

16.4 泛型类的层次结构364

16.4.1 使用泛型基类364

16.4.2 使用泛型派生类365

16.5 具有多个类型参数的泛型366

16.6 类型约束367

16.7 关联类型368

16.7.1 定义关联类型368

16.7.2 扩展已存在类型为关联类型370

16.7.3 约束关联类型371

热门推荐