定 價:¥99.00
作 者: | 張云波 |
出版社: | 電子工業(yè)出版社 |
叢編項: | |
標(biāo) 簽: | 暫缺 |
ISBN: | 9787121346101 | 出版時間: | 2018-07-01 | 包裝: | 平裝 |
開本: | 16開 | 頁數(shù): | 420 | 字?jǐn)?shù): |
第1篇 Swift 4基礎(chǔ)語法篇
第1章 關(guān)于Swift 3
第2章 Swift語法基礎(chǔ) 7
2.1 變量和常量 7
2.2 注釋 8
2.3 分號 9
2.4 整數(shù) 9
2.5 浮點數(shù) 10
2.6 類型安全和類型推斷 10
2.7 數(shù)值型字面量 10
2.8 數(shù)值類型轉(zhuǎn)換 11
2.9 布爾類型 13
2.10 元組 13
2.11 可選類型 14
2.12 錯誤處理 15
2.13 斷言 16
第3章 Swift基本運算符 17
3.1 術(shù)語 17
3.2 賦值運算符 17
3.3 算術(shù)運算符 18
3.4 組合賦值運算符 19
3.5 比較運算符 19
3.6 三元(目)運算符 20
3.7 空合運算符 21
3.8 區(qū)間運算符 22
3.9 邏輯運算符 23
第4章 Swift字符串和字符 26
4.1 字符串字面量 26
4.2 初始化空字符串 26
4.3 字符串可變性 27
4.4 字符串都是值類型 27
4.5 使用字符 27
4.6 連接字符串與字符 28
4.7 字符串插入值 28
4.8 UniCode 29
4.9 計算字符數(shù)量 31
4.10 訪問與修改字符串 31
4.11 比較字符串 33
第5章 Swift集合類型 35
5.1 數(shù)組 35
5.2 集 39
5.3 字典 42
第6章 Swift控制流 46
6.1 for循環(huán) 46
6.1.1 for-in 47
6.1.2 for條件遞增 48
6.2 while循環(huán) 48
6.2.1 while 49
6.2.2 repeat while 49
6.3 if語句 50
6.4 guard語句 51
6.5 switch語句 52
6.6 控制轉(zhuǎn)移語句 54
6.6.1 continue語句 54
6.6.2 break語句 55
6.6.3 fallthrough語句 56
6.6.4 return語句 57
第7章 Swift函數(shù) 58
7.1 函數(shù)的定義和調(diào)用 58
7.2 函數(shù)的參數(shù)和返回值 59
7.2.1 多個輸入?yún)?shù)的函數(shù) 59
7.2.2 沒有參數(shù)的函數(shù) 59
7.2.3 沒有返回值的函數(shù) 60
7.2.4 沒有返回值的函數(shù)調(diào)用具有返回值的函數(shù) 60
7.2.5 多個返回值的函數(shù) 60
7.2.6 元組可選類型返回值的函數(shù) 61
7.3 函數(shù)的參數(shù)名稱 62
7.3.1 外部參數(shù)名稱 62
7.3.2 帶默認(rèn)值參數(shù)的函數(shù) 62
7.3.3 可變參數(shù)的函數(shù) 63
7.3.4 常量參數(shù)和變量參數(shù) 63
7.3.5 輸入和輸出參數(shù) 64
7.4 函數(shù)類型 65
7.4.1 使用函數(shù)類型 65
7.4.2 使用函數(shù)類型作為參數(shù) 65
7.4.3 使用函數(shù)類型作為返回值 66
7.4.4 使用函數(shù)類型作為常量 66
7.5 嵌套函數(shù) 67
第8章 Swift閉包 68
8.1 閉包的定義 68
8.2 閉包表達式 69
8.2.1 sorted函數(shù) 69
8.2.2 使用閉包表達式 70
8.2.3 根據(jù)上下文推斷參數(shù) 70
8.2.4 單表達式閉包省掉返回關(guān)鍵字 70
8.2.5 參數(shù)名稱縮寫 71
8.2.6 運算符函數(shù) 71
8.3 掛尾閉包 71
8.4 閉包的值捕獲 72
8.5 閉包是引用類型 73
第9章 Swift枚舉 74
9.1 枚舉的定義、結(jié)構(gòu)和使用 74
9.2 枚舉在switch語句中的使用 75
9.3 枚舉關(guān)聯(lián)值 75
9.4 枚舉原始值 76
第10章 Swift類和結(jié)構(gòu)體 77
10.1 類和結(jié)構(gòu)體的對比 77
10.1.1 類和結(jié)構(gòu)體的定義 78
10.1.2 類和結(jié)構(gòu)體的實例 78
10.1.3 類和結(jié)構(gòu)體的屬性訪問 78
10.2 結(jié)構(gòu)體是值類型 79
10.3 類是引用類型 79
10.4 如何選擇類和結(jié)構(gòu)體 79
10.5 集合類型的賦值和復(fù)制 80
第11章 Swift屬性 81
11.1 存儲屬性 81
11.1.1 普通存儲屬性 81
11.1.2 延遲存儲屬性 82
11.2 計算屬性 82
11.3 屬性觀察器 84
11.4 全局變量和局部變量 85
11.5 靜態(tài)屬性 85
第12章 Swift方法 86
12.1 實例方法 86
12.1.1 使用類中定義的實例方法 86
12.1.2 使用結(jié)構(gòu)體中定義的實例方法 87
12.1.3 使用枚舉中定義的實例方法 88
12.2 靜態(tài)方法 89
12.2.1 使用類中定義的靜態(tài)方法 89
12.2.2 使用結(jié)構(gòu)體中定義的靜態(tài)方法 89
第13章 Swift下標(biāo) 91
13.1 下標(biāo)的定義 91
13.2 下標(biāo)的用法 92
13.3 下標(biāo)腳本 93
第14章 Swift繼承 95
14.1 繼承的定義 95
14.2 繼承的一般用法 95
14.3 重寫父類的方法和屬性 96
14.3.1 重寫父類的方法 96
14.3.2 重寫父類的屬性 97
14.4 防止父類的特性被重寫 98
第15章 Swift初始化 99
15.1 初始化的定義 99
15.2 為存儲屬性設(shè)置初始值 99
15.3 自定義構(gòu)造函數(shù) 100
15.4 默認(rèn)構(gòu)造函數(shù) 101
15.5 值類型的初始化 102
15.6 引用類型的初始化 103
15.6.1 指定構(gòu)造函數(shù)和便利構(gòu)造函數(shù) 104
15.6.2 類的代理初始化調(diào)用 104
15.6.3 兩段式構(gòu)造過程 105
15.6.4 構(gòu)造函數(shù)的繼承和重寫 107
15.6.5 自動構(gòu)造函數(shù)的繼承 108
15.6.6 指定和便利構(gòu)造器的實戰(zhàn) 109
15.7 可失敗構(gòu)造函數(shù) 111
15.8 必要構(gòu)造函數(shù) 116
15.9 通過閉包或方法設(shè)置屬性的默認(rèn)值 116
第16章 Swift析構(gòu) 119
16.1 析構(gòu)的原理 119
16.2 析構(gòu)的實戰(zhàn) 119
第17章 Swift錯誤處理 122
17.1 創(chuàng)建錯誤類型 122
17.2 拋出錯誤 123
17.3 捕獲和處理錯誤 124
17.4 不處理錯誤 126
17.5 將錯誤轉(zhuǎn)為可選類型 126
第18章 Swift泛型 128
18.1 泛型能解決的問題 128
18.2 泛型函數(shù) 129
18.3 類型參數(shù) 130
18.4 命名類型參數(shù) 131
18.5 泛型類型 131
18.6 泛型類型的擴展 133
18.7 類型約束 134
18.8 關(guān)聯(lián)類型 136
18.9 條件語句 138
第19章 Swift擴展 140
19.1 擴展的定義和語法 140
19.2 擴展計算屬性 140
19.3 擴展構(gòu)造函數(shù) 141
19.4 擴展方法 143
19.5 擴展下標(biāo) 144
19.6 擴展嵌套函數(shù) 144
第20章 Swift協(xié)議 146
20.1 協(xié)議的定義和語法 146
20.2 對屬性的規(guī)定 147
20.3 對方法的規(guī)定 148
20.4 對變異方法的規(guī)定 149
20.5 對構(gòu)造函數(shù)的規(guī)定 150
20.6 協(xié)議也是一種類型 151
20.7 代理 152
20.8 在擴展中添加協(xié)議 155
20.9 協(xié)議類型的集合 155
20.10 協(xié)議的繼承 156
20.11 協(xié)議類型的組合 157
20.12 檢查協(xié)議的一致性 158
第2篇 iOS 11基礎(chǔ)開發(fā)篇
第21章 入門級 163
21.1 開發(fā)環(huán)境配置 163
21.2 Playground 164
21.3 第一個App 168
21.4 創(chuàng)建用戶交互 178
第22章 初級 181
22.1 AutoLayout 181
22.2 StackView 184
22.3 Size Class 192
22.4 Table View 197
22.4.1 原型單元格 199
22.4.2 代理模式 201
22.4.3 連接數(shù)據(jù)源 203
22.5 自定義單元格 204
22.6 單元格交互 216
22.7 單元格滑動菜單 219
22.8 導(dǎo)航和轉(zhuǎn)場 226
第23章 中級 235
23.1 Model重構(gòu) 235
23.2 靜態(tài)單元格 241
23.3 導(dǎo)航欄、狀態(tài)條和動態(tài)字體的定制技巧 248
23.4 視差動畫 256
23.5 特效、動畫和手勢 259
23.6 JSON編/解碼 271
23.7 錄入新數(shù)據(jù)場景 276
23.8 真機部署 285
23.9 相冊、拍照和錄制視頻 287
第3篇 游戲?qū)崙?zhàn)篇
第24章 卡牌斗獸棋 299
24.1 項目介紹與分析 299
24.2 項目框架搭建 301
24.3 首頁和棋盤控制器的搭建 306
24.4 相關(guān)model和走棋邏輯的實現(xiàn) 330
24.5 單機雙人對戰(zhàn)的實現(xiàn) 337
24.6 人機對戰(zhàn)的實現(xiàn) 360
24.7 聯(lián)網(wǎng)對戰(zhàn)的實現(xiàn) 371
24.8 聯(lián)網(wǎng)對戰(zhàn)的優(yōu)化 400