《老码说编程 玩转Swift江湖》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:老码团队著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2015
  • ISBN:9787121247415
  • 页数:484 页
图书介绍:本书分为10个章节:第一二章讲述如何搭建开发环境,讲解XCode6.1的用法;第三章到第六章重点讲述Swift的语法知识;第七章讲解Swift和Objective-C之间的相互调用;最后三章通过一个完整的案例“魔法盒子”来讲解如何使用Swift语言从零开发一款商用的App。本书在知识布局上不仅有对Swift基础语法的讲解,同时也对iOS开发过程中的众多关键技术节点进行阐述。

第1章 从零搭建Swift开发环境 1

1.1 虚拟机安装Mac OS 1

1.1.1 准备工作 1

1.1.2 动手吧 2

1.2 X86电脑安装Mac OS 33

1.2.1 安装方式简介 33

1.2.2 规划分区 34

1.2.3 使用硬盘助手Leopard 37

1.2.4 使用变色龙Chemeleon 38

1.2.5 使用HFS+ 39

1.2.6 正式安装 41

1.3 结语 42

第2章 玩转XCode 43

2.1 下载与安装XCode 43

2.1.1 下载XCode 43

2.1.2 安装XCode 43

2.2 XCode之初体验 44

2.2.1 欢迎界面 44

2.2.2 第一个Swift程序 46

2.2.3 初识主界面 50

2.2.4 工具栏 50

2.2.5 导航区域 51

2.2.6 编辑区域 57

2.2.7 调试区域 58

2.2.8 组件区域 60

2.3 XCode的调试大法 60

2.3.1 简单粗暴的NSLog 60

2.3.2 断点调试之LLDB 64

2.4 老码的锦囊——帮助文档 69

2.5 结语 71

第3章 Swift语法那些事儿 72

3.1 Swift的碑文 72

3.2 常量和变量 73

3.2.1 常量和变量的命名 74

3.2.2 打印常量和变量 75

3.3 类型标注 76

3.4 注释 77

3.4.1 单行注释 77

3.4.2 多行注释 77

3.5 分号的落寞 77

3.6 语法届的直性子——整型 78

3.7 语法届学术范——浮点型 79

3.8 类型安全和类型推导 79

3.9 数字字面量 81

3.10 数字类型的转换 83

3.10.1 整型间的转换 83

3.10.2 整型和浮点型间的转换 84

3.11 类型别名 85

3.12 布尔型 85

3.13 字符串和字符 86

3.13.1 字符串字面量 87

3.13.2 字符串的创建和初始化 88

3.13.3 字符串和字符的连接 89

3.13.4 字符计数 90

3.13.5 字符串内插 91

3.13.6 比较字符串 92

3.14 元组 94

3.15 可选类型 96

3.15.1 If语句和强制解封可选类型 97

3.15.2 可选绑定 97

3.15.3 隐式解封可选类型 98

3.16 断言 99

3.17 集合 100

3.17.1 集合的可变性 100

3.17.2 数组的类型 100

3.17.3 数组字面量 101

3.17.4 访问和修改数组 103

3.17.5 数组遍历 105

3.17.6 数组创建和初始化 106

3.18 字典 107

3.18.1 字典字面量 108

3.18.2 访问和修改字典 109

3.18.3 字典遍历 111

3.18.4 创建空字典 112

3.19 结构体类型 112

3.19.1 基础数据类型都是结构体 112

3.19.2 结构体的定义 113

3.20 枚举类型 114

3.20.1 枚举的定义 115

3.20.2 通过Switch语句匹配枚举的值 116

3.20.3 关联值 117

3.20.4 原始值 118

3.21 结语 119

第4章 离不开的运算符,丢不下的流程控 120

4.1 运算符的家谱 120

4.2 赋值运算符 122

4.3 算术运算符 124

4.3.1 加减乘除 124

4.3.2 求余运算符 128

4.3.3 自变运算符 129

4.3.4 阴阳运算符 131

4.4 区间运算符 132

4.5 逻辑运算符 133

4.5.1 9种逻辑运算符综合演练 134

4.5.2 三目运算符(?:) 135

4.5.3 空合运算符(??) 136

4.5.4 特征等于运算符(===)和特征不等运算符(!==) 137

4.6 位运算符 137

4.6.1 位求非(~) 137

4.6.2 位求与(&) 139

4.6.3 位求或(|) 140

4.6.4 位求异或(∧) 141

4.6.5 移位操作 142

4.7 运算符专题 144

4.7.1 运算符里的江湖等级 144

4.7.2 圆括号——打破江湖规矩的利器 147

4.7.3 定制自己的运算符套餐 147

4.8 语法界的建筑师 153

4.8.1 for语句 153

4.8.2 while循环 156

4.8.3 if判断 158

4.8.4 switch分拣 158

4.8.5 switch中的case专题 159

4.9 打破控制流程的壁垒 164

4.9.1 continue的用法 164

4.9.2 break的用法 165

4.9.3 return的用法 166

4.9.4 fallthrogh的用法 166

4.10 结语 167

第5章 语法届的高富帅之函数和闭包 168

5.1 写个函数来瞧瞧 168

5.2 函数怎么用 170

5.3 参数列表的奥妙 170

5.3.1 多参数的参数列表 170

5.3.2 没有参数怎么办 171

5.3.3 谁说参数不能有名字 171

5.3.4 酷炫的可变参数 173

5.3.5 默认参数的魅力 174

5.3.6 当默认参数遇上可变参数 176

5.3.7 参数性别是常量还是变量 177

5.3.8 让我变,不管函数内外 178

5.4 仔细分析一下返回值的各种情况 179

5.4.1 没返回值也行 179

5.4.2 一个返回值没问题 180

5.4.3 多返回值也可以 180

5.5 挖挖函数的老底 181

5.6 函数的高级玩法 182

5.6.1 函数类型的变量与常量 182

5.6.2 函数类型作为参数 183

5.6.3 函数类型作为返回值 184

5.7 嵌套函数 185

5.8 柯里化函数 185

5.9 闭包——牛人的玩物 189

5.10 闭包表达式很好用 189

5.11 简化闭包表达式 191

5.12 尾闭包 192

5.13 捕获值 193

5.14 挖挖闭包的老底 195

5.15 结语 195

第6章 Swift之面向对象 196

6.1 面向对象的身世之谜 196

6.2 Swift中的OOP 199

6.2.1 何为类 199

6.2.2 何为实例 200

6.2.3 何为属性 201

6.2.4 何为方法 212

6.2.5 继承者们 218

6.2.6 让我们构造一个类的实例吧 223

6.2.7 析构——回光返照时的精彩 236

6.3 一根藤上三朵花:类、结构体和枚举 238

6.4 Swift内存总管——自动引用计数(ARC) 243

6.4.1 强引用——霸道的关系 243

6.4.2 闭环与解环 246

6.4.3 解环妙法之弱引用 249

6.4.4 解环妙法之无主引用 250

6.4.5 解环妙法之捕获列表 252

6.5 玩转Swift的各种类型 257

6.5.1 可选链——用前就知道是不是nil哦 257

6.5.2 类型检查和转换 266

6.5.3 俄罗斯娃娃——类型里面还有类型 275

6.5.4 我们都是Swift的主人——扩展 278

6.5.5 用需求规划蓝图——协议 287

6.6 通用是一种美德——泛型 307

6.6.1 泛型函数 309

6.6.2 通用类型 310

6.6.3 类型约束 312

6.6.4 关联类型 315

6.7 结语 318

第7章 Swift与Cocoa框架 319

7.1 Swift和Objective-C的互用 319

7.1.1 将Objective-C导入Swift 319

7.1.2 将Swift导入Objective-C 324

7.1.3 互用性浅析 326

7.2 Cocoa框架 328

7.2.1 Cocoa的前世今生 329

7.2.2 CocoaTouch的世界 330

7.2.3 基础类库之Foundation框架 331

7.2.4 用户界面之UIKit/AppKit 340

7.2.5 Core Data 340

7.2.6 使用Cocoa设计模式 350

7.3 Cocoapods——开源界的利器 359

7.3.1 为什么需要Cocoapods 359

7.3.2 什么是Cocoapods 359

7.3.3 安装Cocoapods 359

7.3.4 Cocoapods环境设置 361

7.3.5 构建Cocoapods项目 362

7.4 结语 371

第8章 踏上Swift开发iOS之旅 372

8.1 无规划,不产品 372

8.2 伟大的建筑从草图开始 373

8.2.1 原型工具万花筒 373

8.2.2 打造“魔法盒子”的原型 374

8.3 动工吧 379

8.3.1 认识我们的Magic Box项目 380

8.3.2 五个文件——梦想起飞的地方 381

8.3.3 Baby版魔法盒诞生 390

8.4 神马是沙盒 401

8.4.1 沙盒原理 401

8.4.2 沙盒在哪里 402

8.4.3 沙盒的操作 405

8.5 结语 408

第9章 Swift商用版魔法盒 409

9.1 确定商用版魔法盒架构 409

9.1.1 功能化确认 409

9.1.2 客户端UI级架构 410

9.1.3 系统部署架构 410

9.2 认识UIKit 411

9.3 编码之主框架搭建 413

9.3.1 部署文件目录 413

9.3.2 刷新项目目录 415

9.3.3 添加Cocoapods库 415

9.3.4 桥文件中增加库引用 417

9.3.5 实现主视图和主视图控制器 418

9.3.6 增加子页面视图(View) 420

9.3.7 增加主页面控制器(Controller) 423

9.3.8 建立控制器和视图间的连接 425

9.3.9 主视图控制器把子页面组织起来 426

9.4 编码之实现BoxPlaza页面 432

9.4.1 准备供测试的图片 432

9.4.2 准备配置文件 433

9.4.3 实现配置文件解析 435

9.4.4 为BoxApp添加Model 438

9.4.5 实现CollectionView 440

9.4.6 Autolayout的使用 442

9.4.7 设计CollectionViewCell 446

9.4.8 添加代码 447

9.5 编码之实现MyBox页面 449

9.5.1 设计MyBox UI 449

9.5.2 添加代码 449

9.6 编码之实现MyInfo页面 451

9.6.1 准备一个HTML5小应用 452

9.6.2 添加代码 454

9.7 结语 455

第10章 Swift致富版魔法盒 456

10.1 移动App赢利模式探讨 456

10.2 广告平台的选择 457

10.3 多盟广告平台SDK的使用 458

10.3.1 注册平台应用 458

10.3.2 设置广告类型 459

10.3.3 下载广告发布标识和SDK 460

10.3.4 添加代码 460

10.4 真机调试 462

10.4.1 基础知识 462

10.4.2 创建应用标识 463

10.4.3 创建开发证书(Development) 466

10.4.4 创建标识文件 469

10.4.5 添加设备 473

10.4.6 启用真机调试 474

10.5 打包IPA测试 475

10.6 云测试平台FIR.im使用 479

10.7 上传AppStore 482

10.8 结语 484