《Swift編程權威指南(第2版)》是2017年6月人民郵電出版社出版的圖書,作者是[美]馬修·馬賽厄斯(Matthew Mathias)、約翰·加拉格爾(John Gallagher)。
基本介紹
- 書名:Swift編程權威指南(第2版)
- 作者:[美]馬修·馬賽厄斯(Matthew Mathias)、約翰·加拉格爾(John Gallagher)
- ISBN:9787115457462
- 頁數:368頁
- 定價:89元
- 出版社:人民郵電出版社
- 出版時間:2017年6月
- 裝幀:平裝
- 開本:16開
內容簡介,圖書目錄,
內容簡介
Big Nerd Ranch是美國一家專業的移動開發技術培訓機構,本書是其培訓教材。書中系統講解了在iOS和macOS平台上,使用蘋果的Swift語言開發iPhone、iPad和Mac套用的基本概念和編程技巧。主要圍繞使用Swift語言進行iOS和macOS開發,結合大量代碼示例,教會讀者利用高 級iOS和macOS特性開發真實的套用。
圖書目錄
第 一部分 起步
第 1章 起步 2
1.1 Xcode起步 2
1.2 嘗試playground 4
1.3 修改變數並列印信息到控制台 5
1.4 繼續前進 7
1.5 青銅挑戰練習 7
第 2章 類型、常量和變數 8
2.1 類型 8
2.2 常量與變數 9
2.3 字元串插值 11
2.4 青銅挑戰練習 12
第 二部分 基礎知識
第3章 條件語句 14
3.1 if/else 14
3.2 三目運算符 16
3.3 嵌套的if 17
3.4 else if 18
3.5 青銅挑戰練習 19
第4章 數 20
4.1 整數 20
4.2 創建整數實例 22
4.3 整數操作符 23
4.3.1 整數除法 24
4.3.2 快捷操作符 24
4.3.3 溢出操作符 25
4.4 轉換整數類型 26
4.5 浮點數 27
4.6 青銅挑戰練習 28
第5章 switch語句 29
5.1 什麼是switch 29
5.2 開始使用switch 30
5.2.1 區間 32
5.2.2 值綁定 33
5.2.3 where子句 34
5.2.4 元組和模式匹配 35
5.3 switch與if/else 38
5.4 青銅挑戰練習 39
5.5 白銀挑戰練習 40
第6章 循環 41
6.1 for-in循環 41
6.2 類型推斷概述 45
6.3 while循環 45
6.4 repeat-while循環 46
6.5 重提控制轉移語句 47
6.6 白銀挑戰練習 50
第7章 字元串 51
7.1 使用字元串 51
7.2 Unicode 53
7.2.1 Unicode標量 53
7.2.2 標準等價 55
7.3 青銅挑戰練習 57
7.4 白銀挑戰練習 57
第8章 可空類型 58
8.1 可空類型 58
8.2 可空實例綁定 60
8.3 隱式展開可空類型 62
8.4 可空鏈式調用 63
8.5 原地修改可空實例 64
8.6 nil合併運算符 65
8.7 青銅挑戰練習 66
8.8 白銀挑戰練習 66
第三部分 容器和函式
第9章 數組 68
9.1 創建數組 68
9.2 訪問和修改數組 69
9.3 數組相等 75
9.4 不可變數組 76
9.5 文檔 77
9.6 青銅挑戰練習 78
9.7 白銀挑戰練習 78
9.8 黃金挑戰練習 78
第 10章 字典 79
10.1 創建字典 79
10.2 填充字典 80
10.3 訪問和修改字典 80
10.4 增加和刪除值 82
10.5 循環 84
10.6 不可變字典 85
10.7 把字典轉換為數組 85
10.8 白銀挑戰練習 86
10.9 黃金挑戰練習 86
第 11章 集合 87
11.1 什麼是集合 87
11.2 創建集合 87
11.3 運用集合 89
11.3.1 並集 89
11.3.2 交集 90
11.3.3 不相交 91
11.4 青銅挑戰練習 92
11.5 白銀挑戰練習 92
第 12章 函式 93
12.1 一個基本的函式 93
12.2 函式參數 94
12.2.1 參數名字 95
12.2.2 變長參數 96
12.2.3 默認參數值 97
12.2.4 in-out參數 98
12.3 從函式返回 99
12.4 嵌套函式和作用域 100
12.5 多個返回值 101
12.6 可空返回值類型 102
12.7 提前退出函式 103
12.8 函式類型 103
12.9 青銅挑戰練習 104
12.10 白銀挑戰練習 104
12.11 深入學習:Void 105
第 13章 閉包 106
13.1 閉包的語法 106
13.2 閉包表達式語法 107
13.3 函式作為返回值 110
13.4 函式作為參數 111
13.5 閉包能捕獲變數 113
13.6 閉包是引用類型 115
13.7 函式式編程 116
13.8 青銅挑戰練習 119
13.9 青銅挑戰練習 119
13.10 黃金挑戰練習 119
第四部分 枚舉、結構體和類
第 14章 枚舉 122
14.1 基本枚舉 122
14.2 原始值枚舉 125
14.3 方法 128
14.4 關聯值 131
14.5 遞歸枚舉 133
14.6 青銅挑戰練習 136
14.7 白銀挑戰練習 136
第 15章 結構體和類 137
15.1 新工程 137
15.2 結構體 141
15.3 實例方法 144
15.4 mutating方法 145
15.5 類 145
15.5.1 Monster類 146
15.5.2 繼承 147
15.6 應該用哪種類型 150
15.7 青銅挑戰練習 150
15.8 白銀挑戰練習 150
15.9 深入學習:類型方法 151
15.10 深入學習:mutating方法 152
第 16章 屬性 158
16.1 基本的存儲屬性 158
16.2 嵌套類型 159
16.3 惰性存儲屬性 160
16.4 計算屬性 162
16.5 屬性觀察者 164
16.6 類型屬性 165
16.7 訪問控制 168
16.8 青銅挑戰練習 171
16.9 白銀挑戰練習 171
16.10 黃金挑戰練習 171
第 17章 初始化 172
17.1 初始化方法語法 172
17.2 結構體初始化 172
17.2.1 結構體的默認初始化方法 177
17.3.1 類的默認初始化方法 177
17.3.2 初始化和類繼承 177
17.3.3 類的必需初始化方法 183
17.3.4 反初始化 184
17.4 可失敗的初始化方法 185
17.5 掌握初始化 188
17.6 白銀挑戰練習 188
17.7 黃金挑戰練習 188
17.8 深入學習:初始化方法參數 189
第 18章 值類型與引用類型 190
18.1 值語義 190
18.2 引用語義 192
18.3 值類型常量和引用類型常量 194
18.4 配合使用值類型和引用類型 196
18.5 複製 197
18.6 相等與同一 199
18.7 我應該用什麼 200
18.8 深入學習:寫時複製 201
第五部分 Swift高 級編程
第 19章 協定 210
19.1 格式化表格數據 210
19.2 協定 214
19.3 符合協定 217
19.4 協定繼承 218
19.5 協定組合 219
19.6 mutating方法 220
19.7 白銀挑戰練習 221
19.8 黃金挑戰練習 221
第 20章 錯誤處理 222
20.1 錯誤分類 222
20.2 對輸入字元串做詞法分析 223
20.3 捕獲錯誤 231
20.4 解析符號數組 232
20.5 用鴕鳥政策處理錯誤 236
20.6 Swift的錯誤處理哲學 239
20.7 青銅挑戰練習 240
20.8 白銀挑戰練習 240
20.9 黃金挑戰練習 241
第 21章 擴展 242
21.1 擴展已有類型 242
21.2 擴展自己的類型 244
21.2.1 用擴展使類型符合協定 245
21.2.3 嵌套類型和擴展 246
21.2.4 擴展中的函式 247
21.3 青銅挑戰練習 248
21.4 青銅挑戰練習 248
21.5 白銀挑戰練習 248
第 22章 泛型 249
22.1 泛型數據結構 249
22.2 泛型函式和方法 251
22.3 類型約束 253
22.4 關聯類型協定 254
22.5 類型約束中的where子句 257
22.6 青銅挑戰練習 259
22.7 白銀挑戰練習 259
22.8 黃金挑戰練習 259
22.9 深入學習:理解可空類型 260
22.10 深入學習:參數多態 260
第 23章 協定擴展 262
23.1 為鍛鍊建模 262
23.2 擴展Exercise 264
23.3 帶where子句的協定擴展 265
23.4 用協定擴展提供默認實現 266
23.5 關於命名:一個警世故事 268
23.6 青銅挑戰練習 270
23.7 黃金挑戰練習 270
第 24章 記憶體管理和ARC 271
24.1 記憶體分配 271
24.2 循環強引用 272
24.3 用weak打破循環強引用 276
24.4 閉包中的循環引用 277
24.5 逃逸閉包和非逃逸閉包 281
24.6 青銅挑戰練習 283
24.7 白銀挑戰練習 283
24.8 深入學習:我能獲取實例的引用計數嗎 283
第 25章 Equatable和Comparable 284
25.1.1 插曲:中綴運算符 286
25.1.2 方法“買一贈一” 287
25.2 符合Comparable 287
25.3 繼承Comparable 289
25.4 青銅挑戰練習 290
25.5 黃金挑戰練習 290
25.6 白金挑戰練習 291
25.7 深入學習:自定義運算符 291
第六部分 事件驅動的套用
第 26章 第 一個Cocoa套用 296
26.1 開始創建VocalTextEdit 297
26.2 模型-視圖-控制器 298
26.3 設定視圖控制器 299
26.4 在Interface Builder中設定視圖 302
26.4.2 添加文本視圖 303
26.4.3 自動布局 305
26.5 連線 307
26.5.1 為VocalTextEdit的按鈕設定目標-動作對 307
26.5.2 連線文本視圖出口 308
26.6 讓VocalTextEdit“說話” 310
26.7 保存和載入文檔 311
26.7.1 類型轉換 313
26.7.2 保存文檔 314
26.7.3 載入文檔 316
26.7.4 按照MVC模式整理代碼 320
26.8 白銀挑戰練習 320
26.9 黃金挑戰練習 320
第 27章 第 一個iOS套用 321
27.1 開始創建iTahDoodle 322
27.2 布局用戶界面 323
27.3 為待辦事項列表建模 331
27.4 設定UITableView 335
27.5 保存和載入TodoList 337
27.5.1 保存TodoList 337
27.5.2 載入TodoList 339
27.6 青銅挑戰練習 341
27.7 白銀挑戰練習 341
27.8 黃金挑戰練習 341
第 28章 互操作 342
28.1 一個Objective-C工程 342
28.2 在Objective-C工程中加入Swift 361
28.4 白銀挑戰練習 368
28.5 黃金挑戰練習 368
第 29章 結語 369
29.1 接下來學習什麼 369
29.2 插個廣告 369
29.3 邀請 369