編輯推薦
還在iPhone和iPad應用開發的大門前徘徊?還是已經投身iOS應用開發陣營,但希望迅速提升自己的功力?選擇本書能令你驚喜連連。五位作者均是zi深移動開發專傢,具有豐富的Mac、iOS、Cocoa、Objective-C及Swift開發經驗,他們將多年的實戰經驗與智慧感悟匯集成本書,旨在幫助沒有經驗的讀者順利叩開iOS應用開發的大門,幫助有經驗的讀者迅速提升功力,從而在iOS開發的道路上所嚮披靡。
本書自問世以來就受到讀者的交口贊譽,被奉為學習iOS平颱開發的不二之選。中文版纍計銷量已超過8萬冊。新版做瞭大幅修訂,基於新的Xcode和iOS 10操作係統,用Swift語言重寫瞭書中的所有示例,並且兼容Swift 3。
還等什麼?立即展捲閱讀,加入iOS開發的行列吧!
內容簡介
本書是iOS應用開發基礎教程,內容翔實,語言生動。作者結閤大量實例,使用Swift語言循序漸進地講解瞭適用於iPhone/iPad開發的基本流程。新版介紹強大的iOS 10操作係統,涵蓋Xcode 8的新功能,書中所有案例全部重新編寫。
作者簡介
Molly Maskrey
iOS開發與配件設計公司Global Tek Labs聯閤創始人,有豐富的iOS軟件和硬件開發經驗。
Kim Topley
蘋果公司高級軟件工程師,擁有30多年軟件開發經驗。
David Mark
經驗豐富的Mac技術開發專傢,iOS/Android開發公司MartianCraft聯閤創始人。
Fredrik Olsson
Cocoa/iPhone開發專傢。
Jeff LaMarche
zi深Mac與iOS開發人員,擁有20多年開發經驗;MacTech雜誌和蘋果公司開發人員網站的專欄作傢。Jeff關於iOS開發的博文廣受歡迎,其博客地址為www.iphonedevelopment.blogspot.com。
目錄
第 1 章 歡迎來到 iOS 和 Swift 世界 1
1.1 關於本書 1
1.2 必備條件 2
1.2.1 選擇開發者計劃 3
1.2.2 必備知識 5
1.2.3 iOS應用程序的特點 5
1.3 本書內容 8
1.3.1 新版增加內容 9
1.3.2 Swift 和 Xcode 版本 9
1.3.3 準備好瞭嗎 9
第 2 章 創建第一個 App 10
2.1 創建“Hello, World!”項目 10
2.1.1 Xcode 項目窗口 13
2.1.2 深入瞭解項目 20
2.2 Interface Builder簡介 21
2.2.1 文件格式 22
2.2.2 storyboard 22
2.2.3 實用工具 23
2.2.4 在視圖中添加標簽 24
2.2.5 屬性修改 27
2.3 畫龍點睛——美化 iPhone 應用程序 28
2.4 啓動界麵 32
2.5 在設備上運行應用 33
2.6 小結 36
第 3 章 基本的用戶交互 37
3.1 MVC模式 37
3.2 創建 ButtonFun應用 38
3.3 視圖控製器 39
3.3.1 輸齣接口和操作方法 40
3.3.2 精簡視圖控製器代碼 41
3.3.3 設計用戶界麵 42
3.3.4 測試 ButtonFun應用 49
3.3.5 布局預覽 57
3.3.6 改變文本樣式 59
3.4 應用程序委托 60
3.5 小結 62
第 4 章 更豐富的用戶界麵 63
4.1 動態控件、靜態控件和被動控件 66
4.2 創建 Control Fun應用程序 66
4.3 實現圖像視圖和文本框 67
4.3.1 添加圖像視圖 67
4.3.2 調整圖像視圖的大小 69
4.3.3 設置視圖屬性 71
4.3.4 添加文本框 72
4.3.5 添加約束 78
4.3.6 創建並關聯輸齣接口 79
4.4 關閉鍵盤 80
4.4.1 按下 Done 按鈕關閉鍵盤 81
4.4.2 觸摸背景關閉鍵盤 82
4.4.3 添加滑動條和標簽 83
4.4.4 創建並關聯操作方法和輸齣接口 85
4.4.5 實現操作方法 85
4.5 實現開關、按鈕和分段控件 86
4.5.1 添加兩個帶標簽的開關 87
4.5.2 為開關創建並關聯輸齣接口和操作方法 87
4.5.3 實現開關的操作方法 88
4.5.4 控件狀態 90
4.5.5 為按鈕創建並關聯輸齣接口和操作方法 91
4.6 實現分段控件的操作方法 91
4.7 實現操作錶單和警告視圖 92
4.7.1 顯示操作錶單 92
4.7.2 顯示警告視圖 95
4.8 小結 96
第 5 章 自動鏇轉 97
5.1 自動鏇轉機製 98
5.1.1 點、像素和 Retina 顯示屏 98
5.1.2 控製鏇轉 98
5.2 創建 Orientations項目 99
5.2.1 應用級支持的方嚮 99
5.2.2 獨立控製器的鏇轉支持 101
5.3 創建布局項目 102
5.3.1 覆蓋默認的約束 105
5.3.2 與屏幕等寬的標簽 107
5.4 創建自適應布局 109
5.4.1 創建 Restructure 應用程序 109
5.4.2 設置 iPhone 的橫嚮(wC hC)配置布局 116
5.4.3 設置 iPad(以及 iPhone Plus橫嚮)的 wR hR配置 124
5.5 小結 131
第 6 章 創建多視圖應用 132
6.1 多視圖應用的常見類型 132
6.2 多視圖應用的體係結構 135
6.2.1 根控製器 137
6.2.2 內容視圖剖析 137
6.3 構建 View Switcher項目 137
6.3.1 重命名視圖控製器 137
6.3.2 添加內容視圖控製器 139
6.3.3 修改 SwitchingViewController.swift 140
6.3.4 創建擁有工具欄的視圖 140
6.3.5 連接工具欄按鈕和視圖控製器 142
6.3.6 編寫根視圖控製器 143
6.3.7 實現內容視圖 147
6.3.8 過渡動畫效果 150
6.4 小結 152
第 7 章 分頁欄與選取器 153
7.1 Pickers應用程序 153
7.2 委托和數據源 156
7.3 創建 Pickers應用程序 157
7.3.1 創建視圖控製器 157
7.3.2 創建分頁欄控製器 158
7.3.3 首次模擬器測試 161
7.3.4 實現日期選取器 162
7.4 實現單滾輪選取器 164
7.4.1 構建視圖 164
7.4.2 將控製器實現為數據源和委托 168
7.5 實現多滾輪選取器 170
7.5.1 構建視圖 170
7.5.2 實現控製器 170
7.5.3 滾輪內容根據環境變化 172
7.6 使用自定義選取器創建一個簡單遊戲 178
7.6.1 編寫控製器頭文件 178
7.6.2 構建視圖 178
7.6.3 實現控製器 179
7.6.4 最後的細節 182
7.7 小結 185
第 8 章 錶視圖簡介 186
8.1 錶視圖基礎 186
8.1.1 錶視圖和錶視圖單元 186
8.1.2 分組錶和連續錶 187
8.2 實現一個簡單錶 188
8.2.1 設計視圖 188
8.2.2 實現控製器 190
8.2.3 添加一個圖像 193
8.2.4 錶視圖單元樣式 194
8.2.5 設置縮進級彆 197
8.2.6 處理行的選擇 197
8.2.7 更改字體大小和行高 199
8.3 定製錶視圖單元 200
8.4 實現自定義錶視圖應用程序 201
8.4.1 創建 UITableViewCell 子類 201
8.4.2 從 XIB 文件加載 UITableViewCell 205
8.5 分組分區和索引分區 210
8.5.1 構建視圖 210
8.5.2 導入數據 211
8.5.3 實現控製器 212
8.5.4 添加索引 214
8.5.5 添加搜索欄 215
8.5.6 視圖調試器 220
8.6 小結 222
第 9 章 錶視圖中的導航控製器 223
9.1 導航控製器基礎 223
9.1.1 棧的概念 223
9.1.2 控製器棧 224
9.2 簡單的字體瀏覽器:Fonts 225
9.2.1 Fonts應用的子控製器 225
9.2.2 Fonts應用的基礎框架 227
9.2.3 創建根視圖控製器 230
9.2.4 初始化 storyboard 232
9.2.5 第一個子控製器:字體列錶視圖 233
9.2.6 設計字體列錶的 storyboard 235
9.3 創建字體尺寸視圖控製器 237
9.3.1 設計字體尺寸視圖控製器的storyboard 238
9.3.2 對字體列錶視圖控製器的轉場進行設置 238
9.3.3 創建字體信息視圖控製器 239
9.3.4 設計字體信息視圖控製器的storyboard 240
9.3.5 調整字體列錶視圖控製器的轉場 243
9.3.6 我的收藏字體 244
9.3.7 補充功能 244
9.3.8 實現輕掃刪除 244
9.3.9 實現拖動排序 246
9.4 小結 247
第 10 章 集閤視圖 248
10.1 創建 DialogViewer項目 248
10.1.1 配置自定義單元 249
10.1.2 配置視圖控製器 252
10.1.3 提供內容單元 252
10.1.4 實現流動布局 254
10.1.5 實現標題視圖 255
10.2 小結 257
第 11 章 iPad 應用中的分割視圖和浮動窗口 258
11.1 創建基於 UISplitViewController 的分割視圖應用程序 260
11.1.1 在 storyboard 中定義結構 262
11.1.2 使用代碼定義功能 263
11.1.3 Master-Detail 模闆應用程序的工作原理 266
11.1.4 添加總統信息 268
11.1.5 創建浮動窗口 272
11.2 小結 277
第 12 章 應用設置和用戶默認設置 278
12.1 設置捆綁包入門 278
12.2 Bridge Control應用程序 279
12.2.1 創建項目 282
12.2.2 使用設置捆綁包 283
12.2.3 讀取應用中的設置 295
12.2.4 在應用中修改默認設置 298
12.2.5 注冊默認值 300
12.2.6 保證設置有效 300
12.2.7 切換到 Settings應用程序 302
12.3 小結 303
第 13 章 數據持久化基礎知識 304
13.1 應用程序的沙盒 304
13.1.1 獲取 Documents和 Library 目錄 307
13.1.2 獲取臨時目錄 308
13.2 文件保存方案 308
13.2.1 單文件持久化 308
13.2.2 多文件持久化 309
13.3 屬性列錶 309
13.3.1 屬性列錶序列化 309
13.3.2 創建 Persistence 應用程序的第一個版本 310
13.4 對模型對象進行歸檔 314
13.4.1 遵循 NSCoding 協議 314
13.4.2 實現 NSCopying 協議 315
13.4.3 對數據對象進行歸檔和取消歸檔 316
13.4.4 歸檔應用 316
13.4.5 使用 iOS嵌入的 SQLite3 318
13.4.6 創建或打開數據庫 319
13.4.7 使用綁定變量 320
13.5 創建 SQLite3應用程序 321
13.6 使用 Core Data 325
13.6.1 實體和托管對象 326
13.6.2 Core Data應用 329
13.6.3 修改 AppDelegate.swift 文件 332
13.7 小結 338
第 14 章 文檔和 iCloud 339
14.1 使用 UIDocument 管理文檔存儲 340
14.1.1 構建 TinyPix 340
14.1.2 創建 TinyPixDocument 類 340
14.1.3 主控製器代碼 342
14.1.4 設置 storyboard 348
14.1.5 創建 TinyPix 視圖的類 350
14.1.6 設計 storyboard的詳情視圖 353
14.2 添加 iCloud支持 356
14.2.1 創建配置描述文件 356
14.2.2 如何查詢 359
14.2.3 保存位置 360
14.2.4 將偏好設置保存到 iCloud 361
14.3 小結 363
第 15 章 用 Grand Central Dispatch 進行多綫程編程 364
15.1 創建 SlowWorker 應用程序 365
15.1.1 綫程基礎知識 367
15.1.2 工作單元 368
15.1.3 GCD:底層隊列 368
15.1.4 改進 SlowWorker 369
15.2 後颱處理 372
15.3 應用生命周期 373
15.4 狀態更改通知 373
15.4.1 創建 State Lab 項目 374
15.4.2 探索執行狀態 375
15.4.3 利用執行狀態更改 376
15.4.4 處理不活躍狀態 377
15.4.5 處理後颱狀態 380
15.4.6 進入後颱時保存狀態 382
15.5 小結 385
第 16 章 圖形與繪製 386
16.1 Quartz 2D 基礎概念 386
16.2 Quartz 2D 繪圖方法 387
16.2.1 Quartz 2D 圖形環境 387
16.2.2 坐標係統 388
16.2.3 指定顔色 389
16.2.4 在環境中繪製圖像 390
16.2.5 繪製形狀:多邊形、直綫和麯綫 390
16.2.6 Quartz 2D 樣例:圖案、漸變色、虛綫圖 391
16.3 QuartzFun 應用程序 392
16.3.1 構建 QuartzFun應用程序 392
16.3.2 添加 Quartz 2D繪製代碼 398
16.3.3 優化 QuartzFun應用程序 402
16.4 小結 404
第 17 章 SpriteKit 製作簡單遊戲 405
17.1 創建 TextShooter應用 405
17.1.1 自定義初始場景 408
17.1.2 玩傢移動 411
17.1.3 創建敵人 415
17.1.4 在場景中加入敵人 416
17.1.5 開始射擊 417
17.1.6 物理攻擊敵人 420
17.1.7 完成關卡 421
17.1.8 自定義碰撞 423
17.1.9 粒子係統 426
17.1.10 嚮場景中加入粒子 428
17.1.11 遊戲結束 430
17.1.12 創建開始場景 432
17.1.13 添加音效 434
17.1.14 添加力場:為遊戲提高一些難度 434
17.2 小結 437
第 18 章 輕點、觸摸和手勢 438
18.1 多點觸控術語 438
18.2 響應者鏈 439
18.2.1 響應事件 439
18.2.2 轉發事件:保持響應者鏈的活動狀態 440
18.3 多點觸控體係結構 440
18.4 4個手勢通知方法 440
18.5 TouchExplorer應用 441
18.5.1 創建 Swipes應用程序 445
18.5.2 使用觸摸事件檢測輕掃 445
18.5.3 自動手勢識彆 447
18.5.4 實現多指輕掃 448
18.5.5 檢測多次輕點 450
18.5.6 檢測捏閤和鏇轉 453
18.6 小結 456
第 19 章 確定位置 457
19.1 位置管理器 457
19.1.1 設置期望精度 457
19.1.2 設置距離篩選器 458
19.1.3 獲取使用定位服務的權限 458
19.1.4 啓動位置管理器 458
19.1.5 閤理使用位置管理器 458
19.2 位置管理器委托 459
19.2.1 獲取位置更新 459
19.2.2 使用 CLLocation 獲取緯度和經度 459
19.2.3 錯誤通知 461
19.3 創建 WhereAmI應用程序 461
19.3.1 更新位置管理器 465
19.3.2 將移動路綫展現在地圖上 467
19.3.3 更改定位服務權限 470
19.4 小結 471
第 20 章 設備方嚮與動作 472
20.1 加速計物理特性 472
20.2 陀螺儀鏇轉特性 473
20.3 Core Motion和動作管理器 473
20.3.1 創建 MotionMonitor 應用程序 473
20.3.2 主動動作訪問 476
20.3.3 陀螺儀和方位結果 478
20.3.4 加速計結果 479
20.4 檢測搖動 480
20.4.1 內嵌的搖動檢測 480
20.4.2 搖動與破碎 480
20.5 將加速計用作方嚮控製器 482
20.5.1 Ball應用程序 482
20.5.2 實現 BallView 類 484
20.5.3 計算彈珠運動 486
20.6 小結 488
第 21 章 攝像頭和照片圖庫 489
21.1 圖像選取器和 UIImagePickerController 489
21.1.1 圖像選取器控製器 489
21.1.2 實現圖像選取器控製器委托 491
21.2 設計 Camera 界麵 492
21.2.1 隱私選項 494
21.2.2 實現攝像頭視圖控製器 495
21.3 小結 498
第 22 章 本地化翻譯應用 499
22.1 本地化體係結構 499
22.2 字符串文件 500
22.2.1 字符串文件的格式 500
22.2.2 本地化的字符串函數 501
22.3 創建 LocalizeMe 應用 502
22.3.1 本地化項目 505
22.3.2 本地化 storyboard 508
22.3.3
精通iOS開發 第8版 下載 mobi epub pdf txt 電子書