《iOS編程》榮獲Jolt生產(chǎn)力大獎(jiǎng)。第5版更新了iOS9、Xcode7、Swift的內(nèi)容。全書涵蓋了開發(fā)iOS應(yīng)用的方方面面。從Swift基礎(chǔ)知識(shí)到新增加的語言特性;從AppKit庫到常見的Cocoa設(shè)計(jì)模式;從Xcode技巧到Instrumen tst等。如果讀者剛接觸iOS編程,閱讀本書前兩章可以快速入門。如果讀者已經(jīng)有iOS編程經(jīng)驗(yàn),閱讀本書可以拾遺補(bǔ)缺。
第1章 個(gè)簡單的iOS應(yīng)用 1
1.1 創(chuàng)建Xcode項(xiàng)目 2
1.2 模型-視圖-控制器 5
1.3 設(shè)計(jì)Quiz 6
1.4 Interface Builder 7
1.5 創(chuàng)建界面 8
1.6 創(chuàng)建模型對象 21
1.7 編譯完成的應(yīng)用 23
1.8 應(yīng)用圖標(biāo) 24
1.9 啟動(dòng)畫面 26
第2章 Swift語言 27
2.1 Swift的數(shù)據(jù)類型 27
2.2 使用標(biāo)準(zhǔn)類型 28
2.3 可選 35
2.4 循環(huán)和字符串補(bǔ)全 37
2.5 枚舉和Switch 39
2.6 查閱Apple的Swift文檔 40
第3章 視圖與視圖層次結(jié)構(gòu) 41
3.1 視圖基礎(chǔ) 42
3.2 視圖層次結(jié)構(gòu) 42
3.3 創(chuàng)建新項(xiàng)目 44
3.4 視圖及Frame 45
3.5 自動(dòng)布局系統(tǒng) 55
3.6 初級(jí)練習(xí):更多自動(dòng)布局練習(xí) 64
第4章 文本輸入與委托 65
4.1 文本編輯 65
4.2 實(shí)現(xiàn)溫度轉(zhuǎn)換 73
4.3 委托 76
4.3 初級(jí)練習(xí):禁止輸入字母 79
第5章 視圖控制器 81
5.1 視圖控制器的視圖 82
5.2 設(shè)置初始視圖控制器 82
5.3 UITabBarController 85
5.4 加載以及展示視圖 90
5.5 與視圖控制器及其視圖交互 92
5.6 中級(jí)練習(xí):夜間模式 93
5.7 深入學(xué)習(xí):高清顯示 93
第6章 用代碼實(shí)現(xiàn)視圖 95
6.1 使用代碼創(chuàng)建視圖 96
6.2 代碼實(shí)現(xiàn)約束 97
6.3 代碼實(shí)現(xiàn)事件 104
6.4 初級(jí)練習(xí):再添加一個(gè)Tab 106
6.5 中級(jí)練習(xí):顯示用戶位置 106
6.6 高級(jí)練習(xí):顯示地圖大頭針 106
6.7 深入學(xué)習(xí):NSAutoresizingMaskLayoutConstraint 106
第7章 本地化 109
7.1 國際化 110
7.2 本地化 120
7.3 初級(jí)練習(xí):另外一種本地化 126
7.4 深入學(xué)習(xí):NSBundle在國際化中扮演的角色 126
7.5 深入學(xué)習(xí):導(dǎo)入以及導(dǎo)出XLIFF 128
第8章 控制動(dòng)畫 129
8.1 基礎(chǔ)動(dòng)畫 130
8.2 另一個(gè)標(biāo)簽 132
8.3 動(dòng)畫完成 135
8.4 對約束作動(dòng)畫 135
8.5 時(shí)間方法 139
8.6 初級(jí)練習(xí):spring動(dòng)畫 141
8.7 中級(jí)練習(xí):Layout Guides 141
第9章 UITableView與UITableViewController 143
9.1 編寫Homepwner應(yīng)用 144
9.2 UITableViewController 145
9.3 創(chuàng)建Item類 147
9.4 UITableView數(shù)據(jù)源 149
9.5 UITableViewCells 153
9.6 內(nèi)容縮進(jìn) 158
9.7 初級(jí)練習(xí):多個(gè)分組 159
9.8 中級(jí)練習(xí):固定的行 160
9.9 高級(jí)練習(xí):自定義UITableView 160
第10章 編輯UITableView 161
10.1 編輯模式 161
10.2 添加行 166
10.3 刪除行 168
10.4 移動(dòng)行 169
10.5 顯示提示窗口 170
10.6 設(shè)計(jì)模式 173
10.7 初級(jí)練習(xí):修改刪除按鈕的標(biāo)題 174
10.8 中級(jí)練習(xí):禁止調(diào)整順序 174
10.9 高級(jí)練習(xí):真正地禁止調(diào)整順序 174
第11章 創(chuàng)建UITableViewCell子類 175
11.1 創(chuàng)建ItemCell 176
11.2 添加并關(guān)聯(lián)ItemCell的屬性 178
11.3 使用ItemCell 179
11.4 動(dòng)態(tài)計(jì)算高度 180
11.5 動(dòng)態(tài)類型 181
11.6 初級(jí)練習(xí):UITableViewCell的顏色 184
第12章 UIStackView 185
12.1 使用UIStackView 186
12.2 Segues 194
12.3 綁定內(nèi)容 195
12.4 傳遞數(shù)據(jù) 200
12.5 初級(jí)練習(xí):更多的UIStackView 201
第13章 UINavigationController 203
13.1 UINavigationController 204
13.2 使用UINavigationController導(dǎo)航 209
13.3 視圖的出現(xiàn)和消失 210
13.4 隱藏鍵盤 211
13.5 UINavigationBar 215
13.6 初級(jí)練習(xí):顯示數(shù)字鍵盤 220
13.7 中級(jí)練習(xí):自定義UITextField 220
13.8 高級(jí)練習(xí):添加更多UIViewController 220
第14章 相機(jī) 221
14.1 通過UIImageView對象顯示圖片 222
14.2 通過UIImagePickerController拍攝照片 226
14.3 創(chuàng)建ImageStore 231
14.4 讓UIViewController可以訪問ImageStore 232
14.5 創(chuàng)建并使用鍵 233
14.6 使用ImageStore 235
14.7 初級(jí)練習(xí):編輯圖片 236
14.8 中級(jí)練習(xí):刪除圖片 237
14.9 高級(jí)練習(xí):Camera Overlay 237
14.10 深入學(xué)習(xí):導(dǎo)航實(shí)現(xiàn)文件 237
第15章 保存、讀取與應(yīng)用狀態(tài) 241
15.1 固化 242
15.2 應(yīng)用沙盒 245
15.3 NSKeyedArchiver與NSKeyedUnarchiver 248
15.4 應(yīng)用狀態(tài)與狀態(tài)切換 251
15.5 通過NSData將數(shù)據(jù)寫入文件 254
15.6 錯(cuò)誤處理 257
15.7 初級(jí)練習(xí):PNG 259
15.8 深入學(xué)習(xí):應(yīng)用狀態(tài)切換 259
15.9 深入學(xué)習(xí):文件系統(tǒng)讀/寫 261
15.10 深入學(xué)習(xí):應(yīng)用程序包 263
第16章 Size Classes 265
16.1 定制Size Classes 266
16.2 初級(jí)練習(xí):垂直排列UITextField和UILabel 272
第17章 觸摸事件和UIResponder 273
17.1 觸摸事件 274
17.2 創(chuàng)建TouchTracker應(yīng)用 275
17.3 創(chuàng)建Line結(jié)構(gòu)體 276
17.4 創(chuàng)建DrawView 278
17.5 使用DrawView畫圖 279
17.6 處理觸摸事件并創(chuàng)建線條對象 280
17.7 @IBInspectable 285
17.8 中級(jí)練習(xí):顏色 287
17.9 高級(jí)練習(xí):圓圈 287
17.10 深入學(xué)習(xí):響應(yīng)對象鏈 287
17.11 深入學(xué)習(xí):UIControl 289
第18章 UIGestureRecognizer與UIMenuController 291
18.1 UIGestureRecognizer子類 292
18.2 使用UITapGestureRecognizer檢測點(diǎn)擊 292
18.3 多個(gè)UIGestureRecognizer 294
18.4 UIMenuController 297
18.5 更多UIGestureRecognizer 299
18.6 深入學(xué)習(xí)UIGestureRecognizer 304
18.7 中級(jí)練習(xí):神奇的線條 305
18.8 高級(jí)練習(xí):速度和大小 305
18.9 鉑金挑戰(zhàn):顏色 305
18.10 深入學(xué)習(xí):UIMenuController與UIResponderStandardEditActions 306
第19章 網(wǎng)絡(luò)服務(wù) 307
19.1 開始Photorama應(yīng)用 308
19.2 創(chuàng)建URL 309
19.3 發(fā)送請求 314
19.4 Photo模型 317
19.5 JSON數(shù)據(jù) 318
19.6 下載并顯示圖片數(shù)據(jù) 326
19.7 主線程 329
19.8 初級(jí)練習(xí):打印返回信息 331
19.9 深入學(xué)習(xí): 331
第20章 UICollectionView 333
20.1 顯示網(wǎng)格 334
20.2 UICollection數(shù)據(jù)源 336
20.3 自定義布局 339
20.4 創(chuàng)建自定義的UICollectionViewCell 341
20.5 下載圖片數(shù)據(jù) 345
20.6 查看照片 349
20.7 中級(jí)練習(xí):改變Item的尺寸 352
20.8 高級(jí)練習(xí):自定義布局 352
第21章 Core Data 353
21.1 對象圖 353
21.2 實(shí)體 354
21.3 創(chuàng)建Core Data Stack 358
21.4 更新數(shù)據(jù) 361
21.5 更新數(shù)據(jù)源 364
21.6 在硬盤上保存圖片 367
21.7 初級(jí)練習(xí):照片查看次數(shù) 368
第22章 Core Data關(guān)系 369
22.1 關(guān)系 370
22.2 在界面中添加標(biāo)簽 372
22.3 父子NSManagedObjectContext 382
22.4 中級(jí)練習(xí):收藏 384
第23章 后記 385
23.1 接下來做什么 385
23.2 關(guān)注我們 386
索引 387