本書分為四部分,涵蓋以下內容:Swift基礎知識,學習Swift的面向對象特性,以及各種開發(fā)工具。OS X應用開發(fā),規(guī)劃應用,處理文檔,然后構建各項功能。iOS應用開發(fā),使用多媒體、聯(lián)系人、位置、通知和iCloud構建一個功能完善的iOS記事本應用。高級應用擴展,支持Apple Watch,學習如何調試、監(jiān)控和測試全部三個Swift應用。
本書講解常用的Swift設計模式、Apple平臺中應用的結構,還會說明如何把應用提交到App Store。構建真實可用的OS X和iOS應用,動手實踐Swift編程語言。
歡迎閱讀本書!我們將為Apple 的 OS X 、iOS 和 watchOS 平臺開發(fā)一個筆記應用,讓你實踐Swift 編程語言。
Swift 是一門出色的現(xiàn)代語言,借鑒了其他新式語言的最佳實踐,而沒有重新發(fā)明輪子。Swift 易于編寫、易于學習,極難犯錯。
我們認為,學習Swift 的最佳方法是使用它構建應用。不過,若想構建應用,需要趁手的框架,而Apple 為我們提供了好多,例如Cocoa、Cocoa Touch 和WatchKit 。本書的書名也可以改成“通過 Swift 學習Cocoa 和Cocoa Touch”,因為框架和語言本身同等重要。寫作本書時,Swift 的當前版本是2.2,而且未來一片光明。
書中使用的資源,我們建議你在閱讀每一章的同時自己動手編寫代碼。如果卡住了,或者想獲取一份代碼,可以訪問我們的網(wǎng)站(http://www.secretlab.com.au/books/learning-swift )。本書的目的是教你構建真實的應用,主要集中講解代碼,不是讓你設計圖標,我們已經(jīng)為你準備好了。圖標也可以從我們的網(wǎng)站中下載。
本書只講Swift ,不涉及Objective-C 。我們偶爾會提及后者,但是不要求你知道如何使用它。本書先講Swift 的基礎知識,然后分別為OS X 和iOS 構建一個完整的應用,在這個過程中學習Cocoa、 Cocoa Touch 和watchOS 框架。注意,Swift 是編程語言,Cocoa 是開發(fā)OS X 應用的框架,Cocoa Touch 是開發(fā) iOS 應用的框架,而watchOS 是開發(fā) Apple Watch 應用的框架。
本書采用的教學方式與其他編程書不同。前面說過,我們認為學習Swift 的最佳方法是使用它構建應用。我們假定你有一定的編程基礎,但是不假設你曾為OS X 或iOS 做過開發(fā),或者之前用過Swift或Objective-C。我們還假設你能熟練操作 OS X 和 iOS。
……
感謝技術審校,尤其是 Chris Devers 和 Tony Gray ,感謝他們細致且專業(yè)地審校。
最后,非常感謝你購買我們的書,謝謝你!如果你有什么要反饋,請聯(lián)系我們。你可以發(fā)電子郵件給我們,地址是lab@secretlab.com.au ;也可以在Twitter 上聯(lián)系@ thesecretlab
(http://twitter.com/thesecretlab )。
前言 1
第一部分 Swift 基礎
第1章新手入門 9
11 Apple開發(fā)者計劃 11
12 使用Xcode創(chuàng)建第一個項目 13
13 開發(fā)一個簡單的Swift應用 26
14 使用iOS模擬器 30
15 小結 32
第2章 Swift基礎 33
21 Swift編程語言 34
22 Playground 36
23 注釋 38
24 流程控制 38
25 變量和常量 42
26 運算符 43
27 類型 44
28 處理字符串 45
29 函數(shù)和閉包 56
210 小結 63
第3章 Swift面向對象應用開發(fā)64
31 類和對象 64
32 結構體 77
33 模塊 78
34 Swift標準庫、Foundation、Cocoa和Cocoa Touch 78
35 數(shù)據(jù) 79
36 錯誤處理 81
37 內存管理 83
38 Cocoa和Cocoa Touch 采用的設計模式 84
39 應用的結構 88
310 小結 89
第二部分 構建一個OS X應用
第4章 構建OS X記事本應用的前期準備工作93
41 設計這個OS X記事本應用93
42 創(chuàng)建OS X應用項目97
43 定義文檔類型 101
44 添加圖標 106
45 小結 108
第5章 在OS X中處理文檔 109
51 NSDocument類 109
52 在文檔中存儲數(shù)據(jù) 110
53 存儲文本 111
54 基本的UI 120
55 小結 128
第6章 用戶界面和 iCloud 129
61 更新UI 129
62 附件和文件擴展名的UI 133
63 增強附件系統(tǒng) 154
64 通過拖曳添加附件 159
65 iCloud 166
66 iCloud基礎 167
67 小結 170
第三部分 構建一個iOS應用
第7章 構建iOS記事本應用的前期準備工作173
71 設計這個iOS應用 174
72 創(chuàng)建iOS應用項目 179
73 為iOS應用啟用iCloud 183
74 定義文檔類型 187
75 小結 189
第8章 處理iCloud中的文件190
81 應用沙盒 190
82 iCloud 的可用性 192
83 創(chuàng)建文檔列表視圖控制器 192
84 定義 Document 類204
85 列出文檔 210
86 創(chuàng)建文檔 218
87 從iCloud中下載文件 221
88 刪除文檔 225
89 重命名文檔 231
810 小結 235
第9章 在iOS中處理文檔 236
91 添加顯示筆記的視圖 236
92 編輯和保存文檔 244
93 小結 246
第10章 處理文件和文件類型 247
101 設計附件的界面 247
102 列出附件 251
103 處理沖突 261
104 創(chuàng)建快速查看縮略圖 267
105 小結 269
第11章 圖像和刪除 270
111 添加附件 270
112 添加圖像附件 272
113 查看附件 277
114 刪除附件 286
115 小結 293
第12章 支持iOS生態(tài)系統(tǒng)294
121 通過UIActivityController實現(xiàn)分享 294
122 Handoff 297
123 可搜索性 301
124 小結 303
第13章 擴展iOS應用 304
131 使用Spotlight索引擴展搜索305
132 “今天”小組件 315
133 小結 323
第14章 多媒體、聯(lián)系人、位置和通知324
141 位置附件 324
142 音頻附件 338
143 視頻附件 350
144 聯(lián)系人附件 356
145 通知 360
146 小結 371
第15章 改進這個iOS應用372
151 朗讀文本 372
152 在SFSafariViewController 中打開鏈接 374
153 設置 380
154 撤銷功能 381
155 圖像濾鏡 384
156 全球化應用 388
157 輔助功能 396
158 分屏多任務 400
159 小結 401
第四部分 擴展應用
第16章 構建一個watchOS應用 405
161 為Apple Watch 設計 406
162 設計我們的watchOS應用 407
163 創(chuàng)建watchOS擴展 409
164 小結 441
第17章 代碼質量和應用分發(fā) 442
171 調試 442
172 Instruments 444
173 測試 449
174 在同一個項目中同時使用Objective-C和Swift 453
175 App Store 454
176 小結 457