第Ⅰ部分 第一个应用 3
第1章 入门 3
1.1 蓝图:iPhone和iPad开发 3
1.1.1 一些关键术语 4
1.1.2 开发和编程的区别 4
1.1.3 客观地看待Swift 5
1.1.4 你将创建的应用 5
1.2 了解需要记住哪些内容 6
1.2.1 理解并牢记关键概念 7
1.2.2 语法 7
1.2.3 伪代码的重要性 8
1.3 创建iPhone和iPad应用需要做哪些准备 9
1.3.1 你需要一台Mac 9
1.3.2 Xcode:iPhone和iPad开发环境 11
1.3.3 一些有用的资源 11
1.4 小结 12
第2章 构建你的第一个应用 13
2.1 首次启动Xcode 14
2.1.1 步骤1:启动Xcode 14
2.1.2 步骤2:创建一个新的项目 14
2.1.3 步骤3:设置你的项目选项 15
2.1.4 步骤4:运行空白应用 17
2.1.5 步骤5:添加Hello World文本 18
2.1.6 步骤6:运行应用 19
2.1.7 步骤7:回顾本章内容 20
2.2 小结 21
第3章 讲解第一个应用 23
3.1 讲解Xcode模板 23
3.2 了解单视图应用 24
3.3 标签的定义 25
3.4 模拟器的定义 27
3.5 小结 29
第4章 深入了解开发工具:Xcode 31
4.1 Xcode面板说明 31
4.1.1 Standard Editor 32
4.1.2 Utilities面板 34
4.1.3 Main.storyboard 35
4.1.4 Navigator面板 35
4.2 Xcode图标说明 37
4.3 自由探索 38
4.4 小结 39
第5章 捕获用户的操作:添加按钮 41
5.1 添加标签和按钮 41
5.1.1 步骤1:使用Single View App模板开始创建新项目 42
5.1.2 步骤2:向故事板添加按钮和标签,然后运行应用进行测试 42
5.1.3 步骤3:将按钮和标签连接到代码(关联),然后运行应用进行测试 43
5.1.4 步骤4:添加代码以便按钮被点击时更改Label上的文本,并运行应用进行测试 47
5.2 改变标签的显示 49
5.3 小结 52
第6章 按钮应用详解 55
6.1 按钮说明 55
6.1.1 创建outlet 55
6.1.2 创建action 56
6.1.3 Xcode有超能力 57
6.1.4 应用的前端:用户界面 58
6.2 文档 59
6.3 注释:尽量简短明了 61
6.3.1 注释是你的朋友 61
6.3.2 如何注释代码 61
6.4 小结 62
第7章 捕获用户的输入:添加文本框 65
7.1 添加文本框 66
7.1.1 步骤1:创建一个新的单视图应用 66
7.1.2 步骤2:向视图添加一个按钮和一个标签 66
7.1.3 步骤3:向视图添加一个文本框 67
7.1.4 步骤4:将按钮、标签和文本框连接到代码(关联),并测试应用 67
7.1.5 步骤5:添加代码以更改标签,并测试应用 69
7.1.6 步骤6:代码注释 71
7.2 小结 71
第8章 玩转playground 73
8.1 Swift Playgrounds:学习与他人互动 73
8.2 Framework 74
8.3 变量类型 75
8.3.1 字符串 77
8.3.2 回到数学课堂 78
8.3.3 双精度浮点型 79
8.4 小结 81
第Ⅱ部分 理解关键的开发概念 85
第9章 控制应用的流程 85
9.1 控制流程 85
9.2 简单的if语句 86
9.3 复合型if语句:或(?) 88
9.4 复合型if语句:与(&&) 89
9.5 else if语句 90
9.6 else语句 92
9.7 小结 94
第10章 while控制语句 95
10.1 使用while语句控制代码 95
10.1.1 while语句的实践 96
10.1.2 while语句小结 97
10.2 switch语句 98
10.3 我伸出了几根手指? 100
10.3.1 将所有组件添加到故事板中 101
10.3.2 关联故事板 101
10.3.3 创建变量以捕获所猜测的数字:numberGuessed 102
10.3.4 当步进器被点击时更改变量numberGuessed的值 103
10.3.5 连接Guess!按钮 104
10.4 小结 106
第11章 集合 107
11.1 数组 107
11.2 for循环语句 109
11.3 字典 110
11.4 创建查找州名的应用 113
11.4.1 步骤1:创建一个名为StateAbbreviationLookup的应用 113
11.4.2 步骤2:将UI组件添加到故事板 113
11.4.3 步骤3:将UI组件连接到代码 114
11.4.4 步骤4:创建州的缩写和名称的字典 115
11.4.5 步骤5:创建代码以实现当用户键入州名时查找州的缩写 115
11.5 小结 118
第12章 用故事板讲故事 119
12.1 故事板 119
12.2 创建一个故事板应用 119
12.2.1 步骤1:创建一个名为StoryboardExample的新应用 120
12.2.2 步骤2:添加第二个场景 120
12.2.3 步骤3:在第二个场景上添加导航栏 122
12.2.4 步骤4:将Cancel按钮链接到第一场景 124
12.3 segue的转场动画类型 124
12.4 小结 125
第13章 深入讲解View-Controller 127
13.1 继承 127
13.2 关键字override 130
13.3 ViewController的生命周期 131
13.4 应用的生命周期 133
13.4.1 步骤1:创建一个名为Lifecycle的新项目 133
13.4.2 步骤2:添加第二个ViewController 133
13.4.3 步骤3:创建一个可解约的segue 134
13.4.4 步骤4:重写五个函数 135
13.4.5 步骤5:测试应用 135
13.5 小结 137
第14章 创建选项栏 139
14.1 Tab Bar Controller 139
14.1.1 步骤1:创建一个新的应用 140
14.1.2 步骤2:删除现有的场景 140
14.1.3 步骤3:在故事板中添加一个Tab Bar Controller 141
14.1.4 步骤4:在不同的选项卡上添加标签 142
14.1.5 步骤5:在应用中添加第三个选项卡 145
14.2 小结 146
第15章 深入讨论表视图 147
15.1 代理 147
15.1.1 从头开始制作比萨饼 147
15.1.2 委托比萨饼制作 148
15.2 协议 148
15.3 数据源 149
15.4 创建表视图应用 149
15.4.1 步骤1:创建一个新的应用 150
15.4.2 步骤2:将表视图添加到ViewController 150
15.4.3 步骤3:建立一个原型单元格 152
15.4.4 步骤4:为UITable-View设置协议 152
15.4.5 步骤5:创建比萨的数据源 157
15.4.6 步骤6:将数据与表关联 159
15.5 小结 161
第16章 模式:学习缝纫 163
16.1 设计模式及其定义 163
16.1.1 代码整洁 164
16.1.2 易于理解 164
16.1.3 可维护性 165
16.1.4 可扩展性 165
16.2 设计模式的类型 166
16.2.1 Model-View-Controller设计模式 166
16.2.2 代理模式 168
16.2.3 备忘录模式 168
16.3 小结 169
第Ⅲ部分 创建LioN应用 173
第17章 活学活用:LioN应用 173
17.1 Like it or Not 173
17.2 开始 174
17.2.1 创建应用 175
17.2.2 添加Navigation Controller 176
17.2.3 添加iPhone 4s模拟器 177
17.2.4 将数据与表视图关联 179
17.2.5 实现表视图的函数 181
17.3 小结 183
第18章 为LioN应用添加数据 185
18.1 在LioN应用中添加硬编码数据 185
18.1.1 创建一个包含模拟数据的数组 186
18.1.2 通过硬编码数据将lionData连接到表视图 186
18.2 添加模型 187
18.3 改变表单元格的布局 192
18.3.1 改变故事板中的单元格以显示描述 192
18.3.2 更新函数以显示描述 193
18.4 小结 194
第19章 显示LioN的详细信息 195
19.1 捕获被点击的索引行 195
19.2 在故事板中添加详情页 196
19.2.1 将一个ViewController添加到故事板 196
19.2.2 创建一个新的ViewController类 198
19.3 将数据传递给DetailViewController 199
19.3.1 准备DetailView Controller以接受LioN 200
19.3.2 更新MainViewController以传递数据 201
19.4 小结 205
第 20章 为详情视图添加内容 207
20.1 将标签添加到详情界面 207
20.1.1 使用description将Int转换成字符串 208
20.1.2 使用String将Int转换成字符串 208
20.2 向列表添加新的LioN 209
20.2.1 在视图中添加+按钮 210
20.2.2 创建函数以处理action并将二者链接 211
20.2.3 将硬编码值添加到LioN列表中 213
20.2.4 从列表中删除LioN 215
20.3 小结 216
第21章 AddEditView场景 219
21.1 创建新的详情视图 219
21.1.1 添加一个新的TableView-Controller 220
21.1.2 添加一个新的AddEdit-ViewController类 221
21.1.3 关联Cancel和Done按钮 223
21.1.4 检查点 223
21.2 添加新的LioN 224
21.2.1 禁止单元格被选中 226
21.2.2 设置键盘的行为 227
21.2.3 在用户点击时关闭键盘 229
21.3 小结 231
第22章 代理无处不在 233
22.1 关联视图 233
22.1.1 实现协议 234
22.1.2 更新Cancel以及Done按钮的事件 235
22.1.3 捕获用户输入 236
22.2 MainViewController的一致性 237
22.3 将LioN对象添加到lion数组中 239
22.4 设置like和dislike属性 242
22.5 小结 243
第23章 编辑LioN 245
23.1 编辑现有的LioN 245
23.1.1 设置AddEditView-Controller以接受要编辑的LioN对象 245
23.1.2 为文本框填充LioN的名称及其描述 246
23.1.3 显示对LioN的喜欢或不喜欢 247
23.1.4 将LioN对象传递给Add/Edit控制器 250
23.1.5 点击Done时保存LioN,并非创建新的LioN 252
23.2 小结 256
第24章 保存LioN 257
24.1 玩转沙盒 257
24.2 保存数据 259
24.2.1 更改LioN对象的类定义 259
24.2.2 保存编码的数据 262
24.2.3 加载解码的数据 262
24.2.4 添加IoadLions()函数 264
24.2.5 数据加载总结 265
24.2.6 添加保存功能 265
24.3 测试加载与保存功能 267
24.4 小结 268
第25章 让LioN应用更美观 269
25.1 基本的修复 269
25.1.1 创建两个section 270
25.1.2 为Like和Dislike添加图片 271
25.1.3 更改表视图的背景色 275
25.1.4 根据选择来切换图片 276
25.1.5 在单元格上设置图片 277
25.1.6 让MainView场景更美观 278
25.1.7 更新导航栏 279
25.2 添加图标 280
25.3 更新启动场景 281
25.4 小结 281
第26章 使用自动布局 283
26.1 更改布局以适配所有屏幕尺寸 283
26.1.1 改变AddEditView场景 284
26.1.2 更改主场景中单元格的颜色 292
26.2 小结 293
第27章 搜索LioN 295
27.1 添加搜索功能 295
27.2 基于用户的输入过滤LioN 297
27.2.1 创建过滤器函数 298
27.2.2 使用闭包来过滤数组 299
27.2.3 更改表视图的数据源 301
27.2.4 润饰应用 303
27.3 搜索其他字段 304
27.4 小结 305
27.5 你将何去何从? 306
附录A 如何安装Xcode以及注册成为苹果开发者 307
附录B 在你的设备上运行应用 311