Swift開發標準教程

Swift開發標準教程

《Swift開發標準教程》是2016年9月人民郵電出版社出版的圖書,作者是張明、吳瓊、陳瑤。

基本介紹

  • 中文名:Swift開發標準教程
  • 作者:張明、吳瓊、陳瑤
  • 出版時間:2016年9月
  • 出版社:人民郵電出版社
  • 頁數:374 頁
  • ISBN:9787115425027
  • 定價:59.8 元
  • 開本:16 開
  • 裝幀:平裝
內容簡介,圖書目錄,

內容簡介

本書共分為15章,主要內容包括編寫Swift開發環境配置、Swift語言基礎、語句和表達式、集合類型、程式控制結構、函式和閉包、類、繼承、枚舉和結構、構造器和析構器、擴展和協定、Swift語言的其他主題、使用Swift開發iOS套用、測試和發布App以及綜合實例打磚塊遊戲等內容。書中對Swift語言中的一些開發技巧進行了展示。
本書內容豐富、結構新穎、難度適中、實用性強,可作為普通高等院校Swift程式設計課程的教材,也可供Swift開發初學人員參考閱讀。

圖書目錄

第 1章 編寫第 一個Swift程式 1
1.1 初識Swift 1
1.1.1 Swift的發展 1
1.1.2 Swift的特點 1
1.1.3 Swift語言的轉換 2
1.2 構建開發環境 2
1.2.1 申請蘋果賬號 3
1.2.2 安裝Xcode 6
1.2.3 更新新組件和文檔 9
1.3 編寫第 一個程式 11
1.3.1 創建項目 11
1.3.2 Xcode界面介紹 13
1.3.3 編譯和運行 14
1.3.4 編寫代碼 15
1.4 Swift代碼分析 15
1.4.1 代碼構成 15
1.4.2 標識符 16
1.4.3 關鍵字 16
1.4.4 注釋 17
1.5 調試 18
1.6 使用幫助文檔 19
1.7 上機實踐 20
第 2章 Swift語言基礎 21
2.1 常量變數 21
2.1.1 常量 21
2.1.2 變數 21
2.1.3 為聲明的變數和常量指定數據
類型 22
2.2 簡單數據類型 22
2.2.1 整數 22
2.2.2 整型 23
2.2.3 浮點類型 24
2.2.4 布爾類型 25
2.2.5 可選類型 25
2.3 字面值 26
2.3.1 整型字面值 26
2.3.2 浮點類型的字面值 26
2.3.3 布爾類型的字面值 28
2.4 數據類型——元組 28
2.5 類型別名 29
2.6 字元和字元串 29
2.6.1 字元類型與字面值 29
2.6.2 字元串類型與字面值 30
2.6.3 初始化空字元串 31
2.6.4 字元串連線 31
2.6.5 字元計數 32
2.6.6 判斷字元串 32
2.6.7 大小寫轉換 34
2.6.8 插入和刪除 35
2.7 編碼格式Unicode 37
2.7.1 什麼是Unicode 37
2.7.2 字元串的Unicode表示形式 38
2.8 綜合案例 40
2.8.1 為圓周率3.14159265359指定數據
類型 40
2.8.2 組成字元串,並插入特殊符號 40
2.9 上機實踐 41
第3章 語句和表達式 42
3.1 語句 42
3.2 運算符與表達式 42
3.2.1 常用術語——元 42
3.2.2 賦值運算符和表達式 43
3.2.3 算術運算符和表達式 43
3.2.4 求余運算符和表達式 46
3.2.5 自增自減運算符和表達式 47
3.2.6 一元負號運算符 49
3.2.7 一元正號運算符 50
3.2.8 位運算符 50
3.2.9 溢出運算符 55
3.2.10 比較運算符和表達式 57
3.2.11 三元條件運算符和表達式 58
3.2.12 邏輯運算符和表達式 58
3.2.13 範圍運算符 61
3.2.14 複合賦值運算符和表達式 62
3.2.15 求位元組運算符和表達式 63
3.2.16 強制解析 63
3.2.17 空合運算符 63
3.3 數值類型轉換 64
3.3.1 整數的轉換 64
3.2.2 整數和浮點數的轉換 65
3.4 綜合案例 66
3.4.1 水仙花數 66
3.4.2 將7489逆序輸出 66
3.5 上機實踐 67
第4章 集合類型 68
4.1 數組 68
4.1.1 數組字面量 68
4.1.2 數組的聲明 68
4.1.3 數組的初始化 69
4.2 數組的操作 71
4.2.1 獲取數組中元素個數 71
4.2.2 判斷數組是否為空 71
4.2.3 在末尾添加一個元素 72
4.2.4 插入值 73
4.2.5 讀取值 74
4.2.6 修改值 74
4.2.7 刪除值 75
4.3 集合 76
4.3.1 集合的聲明 76
4.3.2 集合的初始化 77
4.4 集合的操作 78
4.4.1 獲取集合中元素個數 78
4.4.2 判斷集合是否為空 78
4.4.3 判斷集合中是否包含某一值 79
4.4.4 插入值 79
4.4.5 刪除值 79
4.4.6 確定集合的順序 81
4.5 集合的基本運算 81
4.5.1 a∩b 81
4.5.2 a∪b 82
4.5.3 a-b 83
4.5.4 a-b∪b-a 83
4.6 集合間關係 84
4.6.1 相等判斷 84
4.6.2 子集的判斷 85
4.6.3 父集合的判斷 85
4.6.4 其他判斷 86
4.7 字典 86
4.7.1 字典字面量 86
4.7.2 字典的聲明 87
4.7.3 字典的初始化 87
4.8 字典的操作 88
4.8.1 獲取字典中的元素個數 88
4.8.2 讀取鍵的值 88
4.8.3 添加元素 89
4.8.4 修改鍵關聯的值 89
4.8.5 刪除值 90
4.9 綜合案例 91
4.9.1 求3科成績的平均值 91
4.9.2 獲取奇數月 92
4.10 上機實踐 94
第5章 程式控制結構 95
5.1 順序結構 95
5.2 選擇結構——if語句 95
5.2.1 if語句 96
5.2.2 if...else語句 96
5.2.3 if...else if語句 97
5.2.4 if語句的嵌套 98
5.3 選擇結構——switch語句 99
5.3.1 switch語句基本形式 99
5.3.2 switch語句的使用規則 100
5.4 循環結構——for語句 103
5.4.1 for...in循環 103
5.4.2 for-condition-increment條件循環 108
5.5 循環結構——while語句 108
5.5.1 while循環 109
5.5.2 repeat while循環 110
5.6 跳轉語句 110
5.6.1 continue語句 110
5.6.2 break語句 111
5.6.3 fallthrough 112
5.7 標籤語句 112
5.7.1 標籤語句的定義 113
5.7.2 標籤語句的使用 113
5.8 綜合案例 114
5.8.1 列印九九乘法表 114
5.8.2 使用if else比較3個數值大小 115
5.8.3 計算1~100的奇數和 116
5.9 上機實踐 116
第6章 函式和閉包 117
6.1 函式介紹 117
6.1.1 函式的功能 117
6.1.2 函式的形式 118
6.2 使用無參函式 118
6.2.1 無參函式的聲明定義 119
6.2.2 無參函式的調用 119
6.2.3 空函式 119
6.3 使用有參函式 120
6.3.1 有參函式的聲明定義 120
6.3.2 有參函式的調用 120
6.3.3 參數的注意事項 121
6.4 函式參數的特殊情況 121
6.4.1 函式參數名 122
6.4.2 指定外部參數名 122
6.4.3 忽略外部參數名 122
6.4.4 為參數設定默認值 123
6.4.5 可變參數 123
6.4.6 常量參數和變數參數 124
6.4.7 輸入-輸出參數 124
6.5 函式的返回值 125
6.5.1 具有一個返回值的函式 125
6.5.2 具有多個返回值的函式 126
6.5.3 可選元組返回類型 127
6.5.4 無返回值 128
6.6 函式類型 128
6.6.1 使用函式類型 129
6.6.2 使用函式類型作為參數類型 129
6.6.3 使用函式類型作為返回值類型 130
6.7 標準函式 131
6.7.1 值函式abs() 131
6.7.2 **大值函式max()/**小值函式min() 132
6.7.3 序列排序函式sortInPlace() 132
6.7.4 序列倒序函式reverse() 133
6.8 函式的嵌套 133
6.8.1 嵌套調用 134
6.8.2 遞歸調用 135
6.9 閉包 135
6.9.1 閉包表達式 136
6.9.2 Trailing閉包 138
6.9.3 捕獲值 139
6.10 綜合案例 140
6.10.1 列印金字塔 140
6.10.2 猴子吃桃 141
6.11 上機實踐 142
第7章 類 143
7.1 類與對象 143
7.1.1 類的組成 143
7.1.2 創建類 143
7.1.3 實例化對象 144
7.2 屬性 144
7.2.1 存儲屬性 144
7.2.2 計算屬性 146
7.2.3 類型屬性 148
7.2.4 屬性監視器 150
7.3 方法 152
7.3.1 實例方法 152
7.3.2 類型方法 153
7.3.3 存儲屬性、局部變數和全局變數
的區別 155
7.3.4 局部變數和存儲屬性同名的解決
方法——self屬性 156
7.4 下標腳本 157
7.4.1 定義下標腳本 157
7.4.2 調用下標腳本 157
7.4.3 使用下標腳本 158
7.5 類的嵌套 160
7.5.1 直接嵌套 160
7.5.2 多次嵌套 161
7.6 可選連結 162
7.6.1 使用可選連結調用代替強制解析 163
7.6.2 通過可選連結調用屬性、下標
腳本、方法 163
7.6.3 連線多個連結 165
7.7 綜合案例 166
7.7.1 收支情況 166
7.7.2 根據周長計算面積 167
7.8 上機實踐 168
第8章 繼承 170
8.1 為什麼要使用繼承 170
8.1.1 重用代碼、簡化代碼 170
8.1.2 擴展功能 170
8.2 繼承的實現 170
8.2.1 繼承的定義 170
8.2.2 屬性的繼承 172
8.2.3 下標腳本的繼承 173
8.2.4 方法的繼承 174
8.3 繼承的特點 174
8.3.1 多層繼承 174
8.3.2 不可刪除 175
8.4 重寫 176
8.4.1 重寫屬性 176
8.4.2 重寫下標腳本 178
8.4.3 重寫方法 179
8.4.4 訪問父類成員 180
8.4.5 阻止重寫 182
8.5 類型轉換 184
8.5.1 類型檢查 184
8.5.2 向下轉型 185
8.5.3 AnyObject和Any的類型轉換 185
8.6 綜合案例 187
8.7 上機實踐 188
第9章 枚舉和結構 189
9.1 枚舉的構成 189
9.2 定義枚舉 189
9.2.1 任意類型的枚舉類型 189
9.2.2 指定數據類型的枚舉類型 190
9.3 定義枚舉的成員 190
9.3.1 定義任意類型的枚舉成員 190
9.3.2 定義指定數據類型的枚舉成員 191
9.3.3 定義枚舉成員時的注意事項 192
9.4 實例化枚舉的對象 192
9.5 枚舉成員與switch匹配 192
9.6 訪問枚舉類型中成員的原始值 193
9.6.1 通過成員訪問原始值 193
9.6.2 通過原始值訪問成員 194
9.7 關聯值 195
9.8 定義枚舉的其他內容 195
9.8.1 定義屬性 195
9.8.2 定義方法 197
9.8.3 定義下標腳本 198
9.9 遞歸枚舉 199
9.10 結構的構成 200
9.11 結構的創建與實例化 200
9.11.1 結構的創建 200
9.11.2 結構體的實例化 200
9.12 定義結構中的內容 201
9.12.1 定義屬性 201
9.12.2 定義方法 204
9.12.3 定義下標腳本 205
9.13 類、枚舉、結構的區別 206
9.14 嵌套類型 206
9.15 綜合案例 208
9.15.1 輸出對應音符發音 208
9.15.2 根據棱長計算正方體的表面積和
體積 208
9.16 上機實踐 209
第 10章 構造器和析構器 210
10.1 值類型的構造器 210
10.1.1 默認構造器 210
10.1.2 自定義構造器 211
10.1.3 構造器代理 214
10.2 類的構造器 216
10.2.1 默認構造器 217
10.2.2 自定義構造器 217
10.2.3 構造器代理 220
10.2.4 類的兩段式構造過程 221
10.2.5 構造器的繼承和重載 222
10.2.6 必要構造器 225
10.3 可失敗構造器 226
10.3.1 定義可失敗構造器 226
10.3.2 枚舉類型的可失敗構造器 227
10.3.3 類的可失敗構造器 228
10.3.4 構造失敗的傳遞 229
10.3.5 重寫一個可失敗構造器 230
10.3.6 可失敗構造器init。 231
10.4 構造器的特殊情況 232
10.4.1 可選屬性類型 232
10.4.2 修改常量屬性 232
10.5 設定默認值 233
10.5.1 在定義時直接賦值 233
10.5.2 在構造器中賦值 233
10.5.3 使用閉包設定屬性的默認值 234
10.5.4 使用函式設定默認值 235
10.6 析構器 235
10.6.1 理解析構器 235
10.6.2 析構器的定義 236
10.6.3 使用析構器 236
10.6.4 使用析構器的注意事項 237
10.6.5 構造器和析構器的區別 239
10.7 綜合案例 239
10.7.1 遊戲屬性 239
10.7.2 模擬下線通知 240
10.8 上機實踐 240
第 11章 擴展和協定 241
11.1 擴展 241
11.1.1 擴展的定義 241
11.1.2 擴展屬性 241
11.1.3 擴展構造器 243
11.1.4 擴展方法 244
11.1.5 擴展下標腳本 246
11.1.6 擴展嵌套類型 247
11.2 協定 248
11.2.1 協定的定義 248
11.2.2 協定的實現 248
11.2.3 協定的成員聲明——屬性 249
11.2.4 協定的成員聲明——方法 251
11.2.5 協定的成員聲明——可變方法 252
11.2.6 協定的成員聲明——構造器 253
11.3 可選協定 254
11.3.1 定義可選協定 254
11.3.2 聲明可選成員 254
11.3.3 調用可選協定 255
11.4 使用協定 256
11.4.1 協定作為常量、變數等的數據
類型 256
11.4.2 協定作為返回值或參數類型 257
11.4.3 協定作為集合的元素類型 258
11.5 在擴展中使用協定 259
11.5.1 在擴展中實現協定 259
11.5.2 定義協定成員 259
11.5.3 擴展協定聲明 260
11.6 協定的繼承 260
11.7 協定合成 262
11.8 檢查協定的一致性 263
11.9 委託 264
11.10 綜合案例 267
11.11 上機實踐 268
第 12章 Swift語言的其他主題 269
12.1 自動引用計數 269
12.1.1 自動引用計數的工作機制 269
12.1.2 循環強引用的產生 270
12.1.3 循環強引用的解決方法 273
12.2 運算符重載 278
12.2.1 為什麼使用運算符重載 278
12.2.2 算術運算符的重載 278
12.2.3 一元負號/正號運算符的重載 279
12.2.4 複合賦值運算符的重載 280
12.2.5 自增自減運算符的重載 281
12.2.6 比較運算符的重載 285
12.2.7 自定義運算符的重載 286
12.3 泛型 289
12.3.1 泛型函式 289
12.3.2 泛型類型 290
12.3.3 泛型類的層次結構 292
12.3.4 擴展一個泛型類型 294
12.3.5 具有多個類型參數的泛型 295
12.3.6 類型約束 295
12.3.7 關聯類型 296
12.4 錯誤處理 300
12.4.1 拋出錯誤 300
12.4.2 捕獲錯誤和處理錯誤 301
12.4.3 清理動作 302
12.5 綜合案例 302
12.6 上機實踐 303
第 13章 使用Swift開發iOS
套用 304
13.1 創建項目 304
13.2 運行程式 306
13.3 模擬器的操作 307
13.3.1 模擬器與真機的區別 307
13.3.2 退出應用程式 307
13.3.3 應用程式圖示的設定 307
13.3.4 語言設定 309
13.3.5 旋轉 312
13.3.6 刪除應用程式 312
13.4 編輯界面 313
13.4.1 界面介紹 313
13.4.2 設計界面 314
13.4.3 視圖對象庫的介紹 316
13.4.4 編寫代碼 317
13.5 上機實踐 320
第 14章 測試和發布App 321
14.1 測試App概述 321
14.1.1 測試驅動的軟體開發流程 321
14.1.2 iOS單元測試框架 322
14.2 使用XCTest測試框架測試驅動的
軟體開發案例 322
14.2.1 測試案例前期準備 322
14.2.2 添加XCTest到項目中 326
14.2.3 測試驅動的開發流程 328
14.3 發布前的準備工作 332
14.3.1 申請付費的賬號 332
14.3.2 申請App ID 335
14.3.3 申請證書 336
14.3.4 添加圖示 343
14.3.5 調整Application Target屬性 344
14.3.6 為發布進行編譯 345
14.3.7 套用打包 347
14.4 進行發布 349
14.4.1 創建套用及基本信息 349
14.4.2 套用定價信息 352
14.4.3 上傳套用 353
14.5 常見審核不通過的原因 357
14.6 上機實踐 358
第 15章 綜合案例:打磚塊遊戲 359
15.1 功能介紹 359
15.2 界面設計 360
15.2.1 準備工作 360
15.2.2 主界面設計 361
15.2.3 遊戲界面設計 362
15.2.4 遊戲介紹界面設計 363
15.3 功能實現 364
15.3.1 界面之間的切換 364
15.3.2 打磚塊遊戲功能 368
15.4 真機測試 374

相關詞條

熱門詞條

聯絡我們