本書基于最新的蘋果官方Swift 2.0語法規范,所有的程序均在Xcode 7中開發完成。全書分為6個部分: 預備知識、語法基礎、面向對象編程基礎、面向對象高級編程、應用實例、編程練習及參考答案。 本書既可作為計算機專業和非計算機專業本科生移動開發課程的配套教材,也可作為iOS開發工程師和iOS開發愛好者的參考書籍。
《Swift應用開發教程》全面介紹了Swift 2.0中的所有重要特色,但舍棄了部分不適合初學者的冷僻知識點,使*一次接觸Swift的讀者能夠迅速抓住重點,掌握精髓。除了在Swift語言方面盡*大可能做到全面系統以外,本書通過預備知識部分幫助讀者迅速掌握Xcode基本功能和熟練運用playground編寫代碼,為配合后面編寫小的實例打下必要的基礎。介紹完Swift語言內容,緊隨其后的是由淺入深、逐步分解問題的一個應用實例,幫助讀者運用已學的Swift語言知識來解決實際問題,使讀者體會到Swift語言在實際iOS App開發中的作用。*后通過30個經典的編程練習來幫助讀者鞏固已學的Swift語言知識。
預備知識/1
0.1Xcode特性1
0.2Xcode使用2
0.3playground4
第1章基本數據類型/8
1.1常量和變量8
1.2整型和浮點型12
1.3布爾型13
1.4元組型14
1.5可選型15
1.6異常處理18
目錄
第2章運算符/20
2.1賦值運算符20
2.2算術運算符21
2.3關系運算符22
2.4邏輯運算符23
2.5其他運算符25
第3章字符串/27
3.1空字符串27
3.2字符串操作28
3.3字符串比較29
第4章集合/31
4.1數組31
4.2集合34
4.3字典36
第5章控制流/40
5.1for循環40
5.2while循環41
5.3if條件語句42
5.4switch條件語句43
5.5控制轉移語句46
第6章函數/48
6.1定義和調用48
6.2函數形參49
6.3函數類型52
6.4嵌套函數54
第7章閉包/56
7.1閉包表達式56
7.2尾隨閉包58
第8章枚舉類型/60
8.1定義60
8.2關聯值61
8.3原始值63
第9章結構體和類/65
9.1共同點65
9.2不同點67
第10章屬性/69
10.1存儲屬性69
10.2計算屬性71
10.3屬性觀察器72
10.4類型屬性73
第11章方法/75
11.1實例方法75
11.2類型方法77
11.3下標78
第12章繼承性/80
12.1基類和子類80
12.2重載83
第13章構造與析構/86
13.1構造器定義86
13.2自定義構造器87
13.3構造器代理90
13.4析構器93
第14章錯誤處理/96
14.1錯誤定義96
14.2錯誤處理97
第15章可選鏈/100
15.1強制拆封100
15.2可選鏈應用101
第16章訪問控制/104
16.1定義104
16.2應用105
第17章類型操作符/107
17.1類型檢查108
17.2類型轉換109
第18章擴展/111
18.1擴展計算型屬性112
18.2擴展構造器112
18.3擴展方法113
18.4擴展下標114
第19章協議/115
19.1定義115
19.2繼承性119
第20章內存管理/121
20.1工作原理121
20.2強引用循環122
20.3閉包中的強引用循環127
第21章高級運算符/129
21.1位運算符129
21.2溢出運算符131
21.3運算符函數132
第22章泛型/135
第23章蘋果應用/137
23.1一個簡單的應用137
23.2MVC架構147
23.3應用運行狀態149
第24章計算器/151
24.1界面設計151
24.2動作處理156
24.3運算邏輯163
24.4小結173
第25章編程練習及參考答案/175
練習1: Fibonacci數列175
練習2: 求質數177
練習3: 求水仙花數178
練習4: 統計字符串中各類字符個數179
練習5: 給定項數的數字的和180
練習6: 自由落體反彈問題182
練習7: 求無重復的三位數183
練習8: 階梯獎金計算184
練習9: 求完全平方數186
練習10: 求一年中的第幾天187
練習11: 3個數比大小188
練習12: 打印九九乘法表189
練習13: 猴子吃桃問題190
練習14: 求分數數列的和191
練習15: 求1~n的階乘的和193
練習16: 用遞歸法求階乘194
練習17: 倒推年齡195
練習18: 倒序打印一個正整數196
練習19: 回文問題197
練習20: 整數排序198
練習21: 求5×5矩陣對角線之和200
練習22: 折半查找201
練習23: 圍圈報數203
練習24: 求分數的和204
練習25: 字符串排序206
練習26: 猴子分桃問題207
練習27: 考試成績統計209
練習28: 求子串出現次數211
練習29: 數字加密問題212
練習30: 被9整除問題214