發表於2024-12-24
基於Swift 2.1版本寫成,針對Swift 1.x和2.x變化比較大的特點進行瞭徹底升級。
不僅百分百覆蓋Apple官方Swift編程指南,更有豐富案例便於讀者學習和領悟。
書中代碼的注釋非常詳細,不僅注釋的數量龐大,而且把一些簡單知識點之間寫到注釋裏,力求讀者輕鬆上手。
在書中前言的*後位置列齣瞭*書配套代碼的下載地址,供讀者免費試用。
Swift正逐步進入iOS APP的實際應用開發,而Apple在WWDC2015上發布瞭Swift 2.0版本,這也錶明瞭Apple對Swift的支持決心,不難預測,Swift的市場份額肯定會超過傳統的Objective-C。
本書是《瘋狂Swift講義》的第2版,本書以*新的OS X 10.11為平颱、以Xcode 7.1為開發工具,*麵介紹瞭Swift 2.1的語法以及使用Swift開發iOS應用的知識。本書*麵覆蓋瞭Swift的基本語法結構、Swift函數式編程特徵、Swift的麵嚮對象特徵、Foundation框架的核心類庫用法等知識,並通過示例介紹瞭如何在iOS應用中混閤使用Swift與Objective-C進行開發。本書重點介紹瞭repeat while循環、guard語句、API檢查、條件編譯、Set集閤、錯誤處理機製、協議擴展等Swift 2.x新增的內容,這樣新增的內容使得Swift具有更強的生命力。
本書並不局限於介紹Swift的簡單語法,而是從“項目驅動”的角度來講授理論。*書為Swift所有語法提供瞭大量的示例程序,大部分地方甚至從正、反兩方麵舉例,務求使讀者能舉一反三地真正掌握Swift編程。如果讀者在閱讀本書時遇到瞭技術問題,可以登錄瘋狂Java聯盟(http://www.crazyit.org)發帖,筆者將會及時予以解答。
李剛,十餘年軟件開發從業經驗,瘋狂軟件教育中心教學總監。瘋狂Java實訓營創始人,瘋狂Java體係原創圖書作者。廣東技術師範學院計算機科學係兼職副教授,51CTO專傢門診特邀嘉賓。培訓的學生已在華為、IBM、阿裏軟件、網易、電信盈科等名企就職。國內知名高端IT技術圖書作傢,已齣版《瘋狂Java講義》《瘋狂Android講義》《輕量級JavaEE企業應用實戰》《瘋狂iOS講義(基礎篇)(提高篇)》《瘋狂前端開發講義》《瘋狂HTML5/CSS3/JavaScript講義》《瘋狂XML講義》《經典JavaEE企業應用實戰》《Struts2。x專業指南》等著作。其中瘋狂Java體係圖書均已沉澱多年,贏得極高的市場認同,多次重印,多部著作印刷數量超過10萬冊,並被多所“985”“211”院校選作教材,部分圖書已被翻譯成繁體中文版,授權到中國颱灣地區。
第1章 Swift語言與開發環境 1
1.1 Swift語言簡介 2
1.1.1 Swift語言 2
1.1.2 關於Swift的幾個誤解 2
1.2 搭建Swift開發環境 3
1.2.1 下載和安裝Xcode 4
1.2.2 安裝輔助工具和文檔 6
1.3 第一個Swift程序 7
1.3.1 Swift程序入口 7
1.3.2 使用Playground工具 8
1.3.3 開發Swift項目 10
1.4 使用終端窗口編譯、運行Swift程序 12
1.4.1 使用swiftc編譯Swift程序 12
1.4.2 使用swift交互命令 14
1.5 熟悉Xcode 14
1.5.1 創建iOS項目 14
1.5.2 熟悉導航麵闆 15
1.5.3 熟悉檢查器麵闆 18
1.5.4 熟悉庫麵闆 20
1.5.5 使用Xcode的幫助係統 22
1.6 本章小結 24
第2章 Swift的基本數據類型 25
2.1 注釋 26
2.2 變量與常量 27
2.2.1 分隔符 27
2.2.2 標識符規則 29
2.2.3 Swift的關鍵字 29
2.2.4 聲明變量和常量 30
2.2.5 輸齣變量和常量 32
2.3 整型 32
2.4 浮點型 34
2.5 數值型之間的類型轉換 35
2.5.1 整型之間的轉換 35
2.5.2 浮點型與整型之間的轉換 37
2.6 Bool型 38
2.7 元組(tuple)類型 38
2.7.1 定義元組類型的變量 39
2.7.2 獲取元組中的元素值 39
2.7.3 為元組中的元素命名 40
2.8 可選類型 40
2.8.1 可選和nil 41
2.8.2 強製解析 42
2.8.3 可選綁定 43
2.8.4 隱式可選類型 43
2.9 類型彆名 45
2.10 字符和字符串 45
2.10.1 字符類型 45
2.10.2 字符串類型 46
2.10.3 字符串的可變性 48
2.10.4 字符串的基本操作 48
2.10.5 字符串比較 50
2.10.6 獲取字符串中字符的Unicode編碼 50
2.11 本章小結 51
第3章 運算符和錶達式 52
3.1 賦值運算符 53
3.2 算術運算符 54
3.3 溢齣運算符 57
3.3.1 值的上溢 57
3.3.2 值的下溢 58
3.4 位運算符 58
3.5 擴展後的賦值運算符 61
3.6 範圍運算符 61
3.6.1 閉範圍運算符 61
3.6.2 半開範圍運算符 61
3.7 比較運算符 62
3.8 邏輯運算符 63
3.8.1 Swift的3個邏輯運算符 63
3.8.2 組閤邏輯與括號 63
3.9 三目運算符 64
3.10 nil閤並運算符 65
3.11 運算符的結閤性和優先級 66
3.12 本章小結 67
第4章 流程控製 68
4.1 順序結構 69
4.2 分支結構 69
4.2.1 if條件語句 69
4.2.2 switch分支語句 72
4.2.3 switch不存在隱式貫穿(fallthrough)和顯式貫穿 73
4.2.4 使用break結束switch 74
4.2.5 switch的範圍匹配 75
4.2.6 switch的元組匹配 75
4.2.7 case的值綁定 77
4.2.8 case的where子句 78
4.3 循環結構 79
4.3.1 while循環語句 79
4.3.2 repeat while循環語句 80
4.3.3 for循環 81
4.3.4 for-in循環 83
4.3.5 嵌套循環 83
4.4 控製循環結構 84
4.4.1 使用break結束循環 84
4.4.2 使用continue忽略本次循環的剩下語句 85
4.4.3 使用return結束方法 86
4.5 Swift 2新增的guard語句 87
4.6 Swift 2新增的API檢查 88
4.7 條件編譯 89
4.8 本章小結 90
第5章 集閤 91
5.1 數組 92
5.1.1 聲明和創建數組 92
5.1.2 使用數組 93
5.1.3 使用for-in遍曆數組 95
5.1.4 數組的可變性和數組的修改 95
5.1.5 多維數組 98
5.1.6 數組的應用舉例 101
5.2 Set集閤 102
5.2.1 聲明和創建Set 102
5.2.2 使用Set 103
5.2.3 使用for-in遍曆Set 104
5.2.4 Set的可變性和Set的修改 104
5.2.5 Set集閤元素與hashValue 106
5.2.6 Set支持的集閤運算 106
5.2.7 Set集閤的關係運算 107
5.3 字典 108
5.3.1 聲明和創建字典 109
5.3.2 使用字典 110
5.3.3 使用for-in遍曆字典 111
5.3.4 單獨使用字典的keys或values 111
5.3.5 字典的可變性和字典的修改 112
5.3.6 字典的應用舉例 113
5.4 集閤的復製 114
5.4.1 數組與Set的復製 114
5.4.2 字典的復製 116
5.5 本章小結 117
第6章 函數和閉包 118
6.1 函數入門 119
6.1.1 定義和調用函數 119
6.1.2 函數返迴值 120
6.1.3 遞歸函數 122
6.2 函數的形參 123
6.2.1 外部形參名 123
6.2.2 形參默認值 124
6.2.3 個數可變的形參 125
6.2.4 常量形參和變量形參 126
6.2.5 In-Out形參 126
6.3 函數類型 130
6.3.1 使用函數類型 130
6.3.2 使用函數類型作為形參類型 131
6.3.3 使用函數類型作為返迴值類型 133
6.4 函數重載 133
6.5 嵌套函數 135
6.6 嵌套函數與閉包 137
6.6.1 迴顧嵌套函數 137
6.6.2 使用閉包錶達式代替嵌套函數 137
6.6.3 閉包的escape 138
6.7 閉包錶達式 139
6.7.1 調用閉包(使用閉包返迴值) 139
6.7.2 利用上下文推斷類型 140
6.7.3 省略return 141
6.7.4 省略形參名 141
6.7.5 尾隨閉包 142
6.8 捕獲上下文中的變量和常量 143
6.9 閉包是引用類型 144
6.10 自動閉包 145
6.11 本章小結 146
第7章 麵嚮對象編程(上) 147
7.1 Swift的麵嚮對象支持 148
7.1.1 麵嚮對象概述 148
7.1.2 Swift的麵嚮對象類型 148
7.2 枚舉 149
7.2.1 定義枚舉 149
7.2.2 枚舉值和switch語句 151
7.2.3 原始值 152
7.2.4 關聯值 153
7.2.5 遞歸枚舉 155
7.3 類和結構體 156
7.3.1 定義結構體和類 156
7.3.2 創建實例 160
7.3.3 值類型與引用類型 161
7.3.4 引用類型的比較 163
7.3.5 self關鍵字 165
7.3.6 類和結構體的選擇 167
7.4 存儲屬性 167
7.4.1 實例存儲屬性與實例變量 167
7.4.2 結構體常量與實例屬性 169
7.4.3 延遲存儲屬性 169
7.5 計算屬性 170
7.5.1 定義計算屬性 170
7.5.2 set部分的簡化 172
7.5.3 隻讀的計算屬性 173
7.6 屬性觀察者 173
7.7 方法 175
7.7.1 方法的所屬性 176
7.7.2 將方法轉換為函數 176
7.7.3 方法的外部形參名 177
7.7.4 Swift方法的命名習慣 179
7.7.5 值類型的可變方法 180
7.7.6 屬性和方法的統一 182
7.8 下標 183
7.8.1 下標的基本用法 183
7.8.2 下標重載 185
7.9 可選鏈 187
7.9.1 使用可選鏈代替強製解析 187
7.9.2 使用可選鏈調用方法 189
7.9.3 使用可選鏈調用下標 190
7.10 類型屬性和類型方法 190
7.10.1 類型成員的修飾符 191
7.10.2 值類型的類型屬性 191
7.10.3 類的類型屬性 192
7.10.4 值類型的類型方法 193
7.10.5 類的類型方法 194
7.11 錯誤處理 194
7.11.1 拋齣錯誤 195
7.11.2 聲明拋齣錯誤 195
7.11.3 使用do-catch捕捉錯誤 196
7.11.4 將錯誤轉為可選值 197
7.11.5 使錯誤失效 198
7.11.6 使用defer迴收資源 199
7.12 構造器 200
7.12.1 類和結構體的構造器 200
7.12.2 構造器的外部形參名 201
7.12.3 使用閉包或函數為屬性設置初始值 203
7.12.4 值類型的構造器重載 204
7.13 可能失敗的構造器 205
7.13.1 結構體與可能失敗的構造器 206
7.13.2 枚舉與可能失敗的構造器 207
7.14 本章小結 208
第8章 麵嚮對象編程(下) 209
8.1 繼承 210
8.1.1 繼承的特點 210
8.1.2 重寫父類的方法 211
8.1.3 重寫父類的屬性 212
8.1.4 重寫屬性觀察者 214
8.1.5 重寫父類的下標 214
8.1.6 使用final防止重寫 215
8.2 類的構造與析構 217
8.2.1 類的指定構造器和便利構造器 217
8.2.2 類的構造器鏈 218
8.2.3 兩段式構造 220
8.2.4 構造器的繼承和重寫 223
8.2.5 類與可能失敗的構造器 226
8.2.6 可能失敗的構造器的傳播 227
8.2.7 重寫可能失敗的構造器 228
8.2.8 子類必須包含的構造器 230
8.2.9 析構器 231
8.3 多態 232
8.3.1 多態性 232
8.3.2 使用is運算符檢查類型 233
8.3.3 使用as運算符嚮下轉型 234
8.3.4 Any和AnyObject 236
8.4 嵌套類型 237
8.5 擴展 238
8.5.1 使用擴展添加屬性 239
8.5.2 使用擴展添加方法 240
8.5.3 使用擴展添加可變方法 241
8.5.4 使用擴展添加構造器 241
8.5.5 使用擴展添加下標 242
8.5.6 使用擴展添加嵌套類型 242
8.6 協議 243
8.6.1 規範、接口與協議語法 243
8.6.2 協議指定的屬性要求 244
8.6.3 協議指定的方法要求 248
8.6.4 協議指定的可變方法要求 249
8.6.5 協議指定的下標要求 251
8.6.6 協議指定的構造器要求 252
8.6.7 使用協議作為類型 254
8.6.8 閤成協議 255
8.6.9 通過擴展為已有的類型添加協議 256
8.6.10 唯類(Class-Only)協議 257
8.6.11 可選協議 258
8.6.12 協議擴展 260
8.6.13 輸齣實例和CustomStringConvertible協議 262
8.6.14 使用自定義類型作為字典的key 263
8.7 隱藏與封裝 266
8.7.1 理解封裝 266
8.7.2 訪問控製符 266
8.7.3 訪問控製語法 268
8.7.4 使用訪問權限定義類型 269
8.7.5 子類的訪問權限 270
8.7.6 常量、變量、屬性、下標的訪問權限 271
8.7.7 構造器的訪問權限 272
8.7.8 協議的訪問權限 273
8.7.9 擴展的訪問權限 273
8.7.10 類型彆名的訪問權限 273
8.8 Swift內存管理 273
8.8.1 理解自動引用計數(ARC) 274
8.8.2 強引用循環 276
8.8.3 使用弱引用解決強引用循環 278
8.8.4 使用無主引用解決強引用循環 279
8.8.5 閉包與對象的強引用循環 281
8.8.6 使用弱引用或無主引用解決閉包的強引用循環 282
8.9 Swift麵嚮對象語法總結 283
8.10 本章小結 284
第9章 泛型 285
9.1 泛型的作用 286
9.2 泛型函數 287
9.2.1 定義泛型函數 287
9.2.2 定義多個類型參數 288
9.3 泛型類型 290
9.3.1 定義泛型類型 290
9.3.2 從泛型類派生子類 291
9.3.3 擴展泛型類型 292
9.4 類型約束 292
9.5 關聯類型 295
9.5.1 使用關聯類型 295
9.5.2 擴展已有類型來確定關聯類型 297
9.6 where子句 297
9.6.1 泛型聲明的where子句 297
9.6.2 協議擴展的where子句 298
9.7 本章小結 299
第10章 運算符函數 300
10.1 運算符重載 301
10.2 前置和後置運算符 303
10.3 擴展後的賦值運算符 305
10.4 比較運算符 305
10.5 自定義運算符 307
10.5.1 開發自定義運算符 307
10.5.2 自定義運算符的結閤性和優先級 308
10.6 本章小結 309
第11章 Foundation框架詳解 310
11.1 包裝類 311
11.1.1 它們不是包裝類 311
11.1.2 NSValue和NSNumber 312
11.2 字符串(NSString與NSMutableString) 313
11.2.1 NSString的常用功能 313
11.2.2 可變字符串(NSMutableString) 315
11.3 日期與時間 316
11.3.1 日期與時間(NSDate) 316
11.3.2 日期格式器(NSDateFormatter) 317
11.3.3 日曆(NSCalendar)與日期組件(NSDateComponents) 319
11.4 數組(NSArray與NSMutableArray) 320
11.4.1 NSArray的功能與用法 320
11.4.2 對集閤元素整體調用方法 322
11.4.3 對NSArray進行排序 324
11.4.4 使用枚舉器遍曆NSArray集閤元素 324
11.4.5 可變數組(NSMutableArray) 325
11.5 集閤(NSSet與NSMutableSet) 327
11.5.1 NSSet的功能與用法 327
11.5.2 NSMutableSet的功能與用法 330
11.5.3 NSCountedSet的功能與用法 331
11.6 有序集閤(NSOrderedSet與NSMutableOrderedSet) 332
11.7 字典(NSDictionary與NSMutableDictionary) 333
11.7.1 NSDictionary的功能與用法 334
11.7.2 對NSDictionary的key進行排序 336
11.7.3 對NSDictionary的key進行過濾
瘋狂Swift講義(第2版) 下載 mobi epub pdf txt 電子書 格式
瘋狂Swift講義(第2版) 下載 mobi pdf epub txt 電子書 格式 2024
瘋狂Swift講義(第2版) 下載 mobi epub pdf 電子書很厚很重的一本 活動價50不到 劃算
評分工會新購圖書,數量多,還沒看,質量看上去還不錯,關鍵是京東速度很快,先好評!
評分好厚的書,之前是藉圖書館的,現在買瞭一本,很詳細,適閤初學者。
評分書不錯,希望能學到東西!
評分聽說必須要十個字以上纔能得京豆,而且內容越豐富奬勵越好,那我隻能再多說幾句,湊一湊字數瞭,隻要是我買的書都是覺得很不錯纔會買的,所以沒什麼好評價的,京東自營還是很ok的,送貨速度是最nice的,好瞭差不多瞭,就這樣吧,應該挺多字數的瞭
評分瘋狂係列都還不錯,可以搭配Android瘋狂講義來看,由於書沒看完,等看完後再追評。
評分京東最近買的東西價格變動太大瞭,也不能申請價格保護,618活動力度比較小。
評分書挺不錯的,寫的非常詳細,而且質量比較好,自己非常喜歡,很實用
評分京東物流快,服務好,産品質量好,售後服務好。
瘋狂Swift講義(第2版) mobi epub pdf txt 電子書 格式下載 2024