《Swift开发实战权威指南》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:欧阳坚,张奋进,黄驿编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2015
  • ISBN:9787302391272
  • 页数:415 页
图书介绍:本书是深入浅出的讲解Swift语言开发的方方面面,从基本语法入手,从面相过程开发,变量申明,函数定义,循环分支语句,结构体,枚举,从面向对象开始是Swift里面的中心,重点,详细分析里面的属性,方法,下标Subscript,继承,构造方法,析构方法,类扩展,协议,闭包,操作符重载。本书也会涉及到进行iOS UI界面开发。

上篇 Swift语言基础篇 2

第1章 Swift语言介绍 2

1.1 Swift语言介绍 2

1.2 Swift和Obiective-C语言对比 3

1.3 Swift优秀的特性 5

1.4 使用Xcode建立Swift项目 9

1.5 Swift使用Playground 13

第2章 基础知识 16

2.1 常量与变量 16

2.1.1 常量和变量的声明 16

2.1.2 常量或变量的类型 17

2.1.3 常量和变量的命名 17

2.1.4 常量和变量的输出 18

2.1.5 字符串的连接输出 19

2.1.6 注释 19

2.1.7 分号 20

2.1.8 汉字命名方式 20

2.2 类型定义 20

2.2.1 整型 20

2.2.2 浮点型 21

2.2.3 自定义类型typealias 22

2.2.4 类型安全及类型推导 22

2.2.5 常数和数值进制的表示方法 22

2.2.6 类型转换 23

2.2.7 类型别名 24

2.2.8 布尔类型 25

2.2.9 元组Tube 25

2.3 可选类型Optional 26

2.3.1 可选类型的声明 27

2.3.2 可选类型的赋值 27

2.3.3 可选类型的使用 27

2.3.4 可选类型nil的使用 28

2.4 基本运算符 28

2.4.1 赋值运算符 28

2.4.2 算术运算符 28

2.4.3 复合运算符 31

2.4.4 比较运算符 31

2.4.5 三目运算符 32

2.4.6 区间运算符 32

2.4.7 逻辑运算符 33

2.4.8 断言Assert操作 34

第3章 字符串、数组、字典 35

3.1 字符串 35

3.1.1 字符串字面量 35

3.1.2 字符串的连接 36

3.1.3 字符串与其他数据类型的拼接 36

3.1.4 字符串相关操作方法 37

3.1.5 与其他类型的转换 38

3.2 数组 39

3.2.1 数组的声明及初始化 39

3.2.2 数组元素的访问与修改 41

3.2.3 数组的遍历 42

3.2.4 数组元素的插入与删除 42

3.3 字典 43

3.3.1 字典的声明及初始化 44

3.3.2 字典元素的访问与修改 44

3.3.3 字典的遍历 45

第4章 控制语句和函数 47

4.1 分支结构 47

4.1.1 if条件语句 47

4.1.2 switch语句 48

4.2 语句的作用域 50

4.3 循环结构 51

4.3.1 for循环 51

4.3.2 forin循环 51

4.3.3 while循环 52

4.3.4 do-while循环 52

4.4 跳转语句及块标签 53

4.4.1 continue语句 53

4.4.2 break语句 53

4.4.3 fallthrough语句 54

4.5 函数 54

4.5.1 函数的定义及调用方法 55

4.5.2 函数的参数 55

4.5.3 函数的返回值 57

4.5.4 函数的变量参数 58

4.5.5 函数的类型 58

4.5.6 函数的嵌套 59

第5章 枚举和结构体 60

5.1 枚举 60

5.1.1 枚举的声明 60

5.1.2 枚举的值 60

5.1.3 枚举的使用方法 62

5.2 结构体 63

5.2.1 结构体的声明和定义 63

5.2.2 结构体的构造方法 63

5.2.3 结构体的赋值和取值 64

5.2.4 结构体的嵌套 64

5.2.5 结构体是值拷贝类型 65

第6章 类 66

6.1 类的声明与定义 66

6.1.1 类对象的创建 66

6.1.2 类的属性的访问 67

6.1.3 类的相互引用 67

6.1.4 类的嵌套 67

6.1.5 类是引用类型 68

6.1.6 恒等操作符(===/!===) 68

6.1.7 类的哈希 69

6.1.8 集合类型对象之间的赋值和拷贝 69

6.2 属性 71

6.2.1 对象属性 71

6.2.2 运算属性 76

6.2.3 类属性 77

6.3 方法 77

6.3.1 对象方法 77

6.3.2 类方法 80

6.4 subscript下标 81

6.4.1 subscript的作用 81

6.4.2 subscript的声明 82

6.4.3 subscript的使用方法 82

6.4.4 subscript使用方法的例子 82

第7章 继承 85

7.1 继承实例分析 85

7.2 重写 88

7.2.1 重写方法 89

7.2.2 重写属性 89

7.2.3 重写属性观察器 91

7.2.4 super关键字 93

7.2.5 final关键字 95

7.3 构造方法 97

7.3.1 构造方法的基本语法 97

7.3.2 构造方法的参数名称 98

7.3.3 属性的缺省值 99

7.3.4 结构体的构造方法 100

7.3.5 枚举类型的构造方法 101

7.3.6 值类型的构造方法代理 102

7.3.7 可选类型属性与构造方法 103

7.3.8 常量属性与构造方法 104

7.3.9 通过闭包或者函数设置属性的缺省值 105

7.3.10 派生类的构造方法 107

7.3.11 构造方法的重写 113

7.3.12 构造方法的自动继承 115

7.3.13 必须构造方法 118

7.4 析构方法 119

7.4.1 析构方法语法 119

7.4.2 析构方法的自动继承 120

7.5 类扩展 121

7.5.1 类扩展的语法 121

7.5.2 扩展运算属性 121

7.5.3 扩展构造方法 122

7.5.4 扩展普通方法 122

7.5.5 扩展下标 123

第8章 自动引用计数 125

8.1 自动引用计数的工作机制 125

8.2 自动引用计数实战 126

8.3 对象之间的循环强引用 129

8.4 解决对象之间的循环强引用 131

8.4.1 弱引用weak 131

8.4.2 无主引用unowner 134

8.4.3 无主引用以及显式展开的可选属性 136

8.5 闭包引起的循环强引用 137

8.6 解决闭包引起的循环强引用 140

8.6.1 定义占有列表 140

8.6.2 弱引用和无主引用 141

第9章 可选链和类型转换 143

9.1 可选链 143

9.1.1 可选链可替代强制解析 143

9.1.2 为可选链定义模型类 145

9.1.3 通过可选链调用属性 146

9.1.4 通过可选链调用方法 147

9.1.5 使用可选链调用下标 147

9.1.6 可选链多层链接 148

9.1.7 链接自判断返回值的方法 149

9.2 类型转换 150

9.2.1 子类的对象赋值为基类 150

9.2.2 类型检查 151

9.2.3 类型转换 151

9.2.4 Any和AnyObject类型转换 152

第10章 协议 155

10.1 协议的语法 155

10.1.1 属性要求 155

10.1.2 方法要求 157

10.1.3 Mutating方法要求 157

10.1.4 使用协议规范构造函数 158

10.1.5 实现构造协议的类 158

10.1.6 协议类型 159

10.2 委托/代理设计模式 160

10.3 协议的各种使用 163

10.3.1 在扩展中添加协议成员 163

10.3.2 通过扩展补充协议声明 164

10.3.3 集合中的协议类型 164

10.3.4 仅在类中使用协议 165

10.4 协议的继承 165

10.4.1 协议合成 166

10.4.2 检验协议的一致性 167

10.4.3 可选协议要求 168

第11章 闭包和操作符重载 171

11.1 闭包表达式 171

11.1.1 sorted函数 171

11.1.2 闭包表达式语法 172

11.1.3 根据上下文推断参数类型 173

11.1.4 单表达式闭包隐式返回 173

11.1.5 参数名称缩写 173

11.1.6 运算符函数 174

11.2 尾部闭包 174

11.2.1 访问上下文值 176

11.2.2 闭包是引用类型 177

11.3 运算符重载 178

11.3.1 中置运算符函数 178

11.3.2 前置和后置运算符 179

11.3.3 组合赋值运算符 179

11.3.4 比较运算符 180

11.3.5 自定义运算符 180

11.3.6 自定义中置运算符的优先级和结合性 181

11.4 泛型 182

11.4.1 泛型解决的问题 182

11.4.2 泛型类型 184

11.4.3 关联类型 190

11.5 Swift和Objective-C交互 194

11.5.1 Swift调用Objective-C函数 194

11.5.2 Objective-C调用Swift程序 197

下篇 Swift UI设计篇 202

第12章 第一个UI项目 202

12.1 创建工程 202

12.2 Xcode工程界面 204

12.3 代码及运行 205

12.4 运行 207

第13章 UIView视图 208

13.1 UIView的创建 208

13.2 CGRect详解 209

13.3 UIColor的使用 211

13.4 UIView的显示 214

13.5 父视图与子视图 214

13.5.1 概念 214

13.5.2 多视图 215

13.5.3 UIView的透明度属性 216

13.6 UIView其他操作 216

13.6.1 子视图数组 216

13.6.2 添加子视图的其他方法 217

13.6.3 子视图的层次的改变方法 219

13.6.4 UIView的简单动画 220

13.7 UIView的tag属性 223

13.8 UIView的移除 224

第14章 iOS中的各种控件 226

14.1 UILabel标签 226

14.1.1 UILabel的创建 226

14.1.2 UILabel的背景颜色和文字颜色 226

14.1.3 设置文本对齐方式 227

14.1.4 文字大小与标签宽度的自适应 228

14.1.5 行数与换行设置 230

14.1.6 UIFont字体的使用 232

14.1.7 文字阴影的设置 237

14.2 UIButton按钮控件 237

14.2.1 按钮的创建 237

14.2.2 UIButton的文字及颜色设置 238

14.2.3 State按钮的状态 240

14.2.4 Type按钮的类型 242

14.2.5 UIImage类的使用及给按钮添加图片 243

14.2.6 给按钮添加事件响应 252

14.3 UIImageView图片视图 258

14.3.1 UIImageView的创建并显示图片 258

14.3.2 UIImageView显示图片的拉伸设置 261

14.3.3 使用UIImageView实现动画 262

14.3.4 UIImageView的用户响应 265

14.4 UITextField单行文本框 267

14.4.1 UITextField创建 267

14.4.2 UITextField属性设置 268

14.4.3 键盘 275

14.4.4 UITextField响应用户事件 278

14.4.5 UITextField监控输入内容 280

第15章 UIViewControler视图控制器 285

15.1 创建视图控制器 285

15.2 视图控制器的产生过程 288

15.3 视图控制器的切换 290

15.3.1 弹出界面 290

15.3.2 回收界面 292

15.4 视图控制器的生命周期 293

15.5 视图控制器的切换动画 294

第16章 UINavigationController导航栏控制器 297

16.1 导航栏控制器概述 297

16.2 导航栏控制器的创建 298

16.3 导航栏 299

16.3.1 导航栏的标题 299

16.3.2 导航栏的背景颜色 300

16.3.3 导航栏的背景图片 300

16.3.4 导航栏的透明 302

16.3.5 导航栏的隐藏 303

16.4 视图控制器之间的切换 304

16.4.1 push 304

16.4.2 pop 306

16.5 navigationItem属性详解 312

16.5.1 提示区域 312

16.5.2 标题区域 312

16.5.3 设置右侧按钮 315

16.5.4 设置左侧按钮 319

16.5.5 设置一组按钮 321

16.5.6 设置返回按钮 322

16.6 UIToolBar的使用详解 325

16.6.1 系统自带的工具栏 325

16.6.2 使用工具栏 326

16.6.3 自定义工具栏 328

第17章 界面之间的传值 330

17.1 正向传值 330

17.2 反向传值 331

17.2.1 协议代理 332

17.2.2 闭包 334

第18章 UITabBarController标签栏控制器 337

18.1 标签栏控制器概述 337

18.2 标签栏控制器的创建 337

18.3 标签的创建 340

18.3.1 通过tabBarItem属性设置 340

18.3.2 自定义UITabBarItem 342

18.4 当创建的标签超过5个时的状态 344

18.5 标签栏控制器代理 346

18.5.1 捕捉编辑完成状态 346

18.5.2 捕捉标签选择的动作 348

18.6 标签栏控制器的其他属性设置 349

18.6.1 标签的徽标 349

18.6.2 手动选择标签 349

18.7 NSUserDefault本地化存储 350

第19章 UIScrollView滚动视图 352

19.1 UIScrollView的创建 352

19.2 滚动条的设置 353

19.2.1 滚动条的样式 354

19.2.2 滚动条的隐藏 354

19.3 滚动边界反弹效果 355

19.4 偏移量 356

19.5 滚动视图的代理方法 356

19.5.1 缩放 357

19.5.2 监控滚动视图的滚动 358

19.6 分屏滚动 359

19.7 引导页的实现 360

19.8 UIPageControl控件 363

19.8.1 创建方式 363

19.8.2 随着滚动视图的滚动改变当前页 363

19.8.3 设置显示效果 364

第20章 UITableView表视图 367

20.1 UITableView概述 367

20.1.1 UITableView的创建及显示 367

20.1.2 UITableView的头视图 368

20.1.3 UITableView的脚视图 369

20.1.4 UITableView的数据源 370

20.1.5 UITableView的分隔线 371

20.1.6 UITableViewCell单元格 373

20.1.7 UITableView的代理 377

20.1.8 UITableView的复用机制 379

20.2 NSIndexPath 380

20.3 多分区tableView 380

20.3.1 多分区tableView的创建 380

20.3.2 分区头标题 382

20.3.3 分区脚标题 383

20.3.4 分区头视图及头视图的高度 384

20.3.5 分区脚视图及脚视图的高度 385

20.4 UITableView行编辑 386

20.4.1 设置cell为编辑状态 386

20.4.2 修改cell的编辑状态 388

20.4.3 cell的响应编辑及左滑编辑功能 389

20.4.4 cell的删除 391

20.4.5 cell的增加 391

20.5 UITableView索引 392

20.6 UITableView搜索 395

20.6.1 搜索框 395

20.6.2 搜索显示控制器 395

20.7 UITableViewCell的定制 402

20.7.1 纯代码实现 404

20.7.2 xib实现定制 407