精通iOS開發(第5版)

精通iOS開發(第5版)

《精通iOS開發(第5版)》是2013年人民郵電出版社出版的圖書,作者是 David Mark。

基本介紹

  • 作者: David Mark 等
  • 譯者:鄧 強                       /            武海峰
  • ISBN:9787115327611
  • 頁數:600
  • 定價:109.00
  • 出版社:人民郵電出版社
  • 出版時間:2013-9
  • 裝幀:平裝
內容介紹,作者介紹,作品目錄,

內容介紹

還在iPhone和iPad套用開發的大門前徘徊?還是已經投身iOS套用開發陣營,但希望迅速提升自己的功力?選擇本書絕對能令你驚喜連連。四位作者均是資深移動開發專家,具有豐富的Mac、iOS、Cocoa及Objective-C開發經驗。作者將多年的實戰經驗與智慧感悟匯集成本書,旨在幫助沒有經驗的讀者順利叩開iOS套用開發的大門,幫助有經驗的讀者迅速提升功力,從而在iOS開發的道路上所向披靡。
本書自問世以來就受到讀者的交口讚譽,被奉為學習iOS平台開發的不二之選。中文版累計銷量已超過5萬冊。新版針對iOS 6和新的SDK做了大幅修訂,力求使新老讀者都能有最大收穫。作者重寫了所有項目代碼,使之兼容新舊SDK,還專門新增一章介紹iOS 6的新特性集合視圖,並對原有的各章內容進行更新,從而反映出技術的最新發展動態。
還等什麼?立即展卷閱讀,加入iOS開發的行列吧!

作者介紹

作者簡介:
David Mark
經驗豐富的Mac技術開發專家,技術圖書作者。他撰寫過許多Mac平台和iOS開發方面的暢銷書,比如《iPad開發基礎教程》(中文版已由人民郵電出版社出版)。David還是iOS/Android開發公司MartianCraft的聯合創始人。
Jack Nutting
資深蘋果移動開發技術專家、技術圖書作者。Objective-C和Cocoa框架的堅定擁護者。《iPad開發基礎教程》合著者。。
Jeff LaMarche
資深Mac與iOS開發人員,擁有20多年開發經驗。他是MacTech Magazine和蘋果公司開發人員網站的專欄作家。Jeff關於iOS開發的博文廣受歡迎。
Fredrik Olsson
具有豐富的Cocoa和iPhone開發經驗,從業經歷豐富,從實時彙編到企業版Java開發。他是Objective-C和Cocoa框架的堅定擁護者。
譯者簡介:
鄧強
iOS工程師,常年關注網際網路行業,對網際網路產品和技術興趣濃厚,Apple粉、Google粉、Amazon粉。職業生涯的前幾年一直從事金融行業軟體系統開發,後來不顧一切投身網際網路。目前在一個新成立的網際網路創業小團隊任職。
武海峰
Linux系統工程師,主要關注GNU/Linux和移動互聯套用,熱衷於開源軟體。曾在商業Linux廠商和移動網際網路創業公司任職,從事Android系統集成、商業Linux發行版集成及移動網際網路產品開發。

作品目錄

目 錄
第1章 歡迎來到iOS世界 1
1.1  關於本書 1
1.2  必要條件 1
1.2.1  開發者選項 3
1.2.2  必備知識 3
1.3  編寫iOS應用程式有何不同 4
1.3.1  只能激活一個套用 4
1.3.2  只有一個視窗 5
1.3.3  有限的訪問許可權 5
1.3.4  有限的回響時間 5
1.3.5  有限的螢幕大小 5
1.3.6  有限的系統資源 6
1.3.7  不支持垃圾回收 6
1.3.8  新功能 6
1.3.9  與眾不同的互動方法 7
1.4  本書內容 7
1.5  這一版的新內容 8
1.6  準備開始吧 9
第2章 創建項目 10
2.1  在Xcode中創建項目 10
2.1.1  Xcode工作區視窗 14
2.1.2  深入研究項目 21
2.2  Interface Builder簡介 23
2.2.1  nib檔案的構成 24
2.2.2  庫 25
2.2.3  在視圖中添加標籤 26
2.2.4  屬性修改 29
2.3  畫龍點睛——美化iPhone套用 30
2.4  小結 34
第3章 實現基本互動 35
3.1  MVC方法 36
3.2  創建項目 36
3.3  視圖控制器 37
3.3.1  輸出口和動作 38
3.3.2  清理視圖控制器 41
3.3.3  設計用戶界面 41
3.3.4  運行套用 50
3.3.5  樣式文本 50
3.4  應用程式委託 52
3.5  小結 55
第4章 更豐富的用戶界面 56
4.1  滿是控制項的螢幕 56
4.2  活動控制項、靜態控制項和被動控制項 58
4.3  創建應用程式 59
4.4  實現圖像視圖和文本欄位 59
4.4.1  添加圖像視圖 59
4.4.2  調整圖像視圖的大小 62
4.4.3  設定視圖屬性 63
4.4.4  添加文本欄位 65
4.4.5  創建和關聯輸出口 70
4.5  關閉鍵盤 72
4.5.1  輸入完成後關閉鍵盤 73
4.5.2  通過觸摸背景關閉鍵盤 74
4.5.3  添加滑塊和標籤 76
4.5.4  添加頂部約束 78
4.5.5  創建並關聯動作方法和輸出口 78
4.5.6  實現動作方法 79
4.6  實現開關、按鈕和分段控制項 80
4.7  實現分段控制項的動作方法 84
4.8  實現操作表單和警告視圖 85
4.8.1  遵從操作表單委託方法 85
4.8.2  顯示操作表單 85
4.9  美化按鈕 88
4.9.1  viewDidLoad方法 89
4.9.2  控制項狀態 90
4.9.3  可拉伸圖像 90
4.10  小結 91
第5章 自動旋轉和自動調整大小 92
5.1  自動旋轉機制 93
5.1.1  點、像素和Retina顯示屏 93
5.1.2  自動旋轉的實現方式 94
5.2  選擇視圖支持的方向 95
5.2.1  套用級支持的方向 95
5.2.2  單個控制器的旋轉支持 96
5.3  使用約束設計界面 98
5.3.1  覆蓋默認的約束 100
5.3.2  與螢幕等寬的按鈕 101
5.4  旋轉時重構視圖 103
5.4.1  創建並關聯輸出口 104
5.4.2  旋轉時移動按鈕 105
5.5  切換視圖 106
5.5.1  設計兩個視圖 108
5.5.2  實現視圖切換 109
5.5.3  修改輸出口集合 111
5.6  小結 112
第6章 多視圖應用程式 113
6.1  多視圖應用程式的常見類型 113
6.2  多視圖應用程式的體系結構 117
6.2.1  根控制器 119
6.2.2  內容視圖剖析 119
6.3  UINavigationController 120
6.3.1  創建視圖控制器和nib檔案 121
6.3.2  修改應用程式委託 123
6.3.3  修改BIDSwitchView- Controller.h 124
6.3.4  添加視圖控制器 124
6.3.5  構建帶有工具列的視圖 126
6.3.6  編寫根視圖控制器 128
6.3.7  實現內容視圖 131
6.3.8  轉換過程的動畫效果 134
6.4  小結 136
第7章 標籤欄與選取器 137
7.1  Pickers應用程式 138
7.2  委託和數據源 140
7.3  建立標籤欄框架 141
7.3.1  創建檔案 141
7.3.2  添加根視圖控制器 142
7.3.3  創建TabBarController.xib 143
7.3.4  初次運行 149
7.4  實現日期選取器 150
7.5  實現單組件選取器 153
7.5.1  聲明輸出口和動作方法 153
7.5.2  構建視圖 153
7.5.3  將控制器實現為數據源和委託 155
7.6  實現多組件選取器 158
7.6.1  聲明輸出口和動作方法 158
7.6.2  構建視圖 159
7.6.3  實現控制器 159
7.7  實現依賴組件 162
7.8  使用自定義選取器創建一個簡單遊戲 168
7.8.1  編寫控制器頭檔案 168
7.8.2  構建視圖 169
7.8.3  添加圖像資源 170
7.8.4  實現控制器 170
7.8.5  最後的細節 173
7.8.6  連結Audio Toolbox框架 177
7.9  小結 178
第8章 表視圖簡介 179
8.1  表視圖基礎 179
8.1.1  表視圖和表視圖單元 180
8.1.2  分組表和無格式表 180
8.2  實現一個簡單表 181
8.2.1  設計視圖 182
8.2.2  編寫控制器 182
8.2.3  添加一個圖像 186
8.2.4  表視圖單元樣式 187
8.2.5  設定縮進級別 189
8.2.6  處理行的選擇 190
8.2.7  更改字型大小和行高 192
8.3  定製表視圖單元 193
8.3.1  向表視圖單元添加子視圖 193
8.3.2  創建UITableViewCell子類 194
8.3.3  從nib檔案載入UITableViewCell 199
8.4  分組分區和索引分區 202
8.4.1  構建視圖 202
8.4.2  導入數據 203
8.4.3  實現控制器 204
8.4.4  添加索引 207
8.5  實現搜尋欄 208
8.6  小結 215
第9章 導航控制器和表視圖 216
9.1  導航控制器 216
9.1.1  棧的性質 216
9.1.2  控制器棧 217
9.2  由6個部分組成的分層應用程式:Nav 218
9.2.1  子控制器 219
9.2.2  Nav應用程式骨架 223
9.2.3  向項目中添加圖像 229
9.2.4  第一個子控制器:展開按鈕視圖 229
9.2.5  第二個子控制器:檢查表 237
9.2.6  第三個子控制器:表行上的控制項 242
9.2.7  第四個子控制器:可移動的行 248
9.2.8  第五個子控制器:可刪除的行 252
9.2.9  第六個子控制器:可編輯的詳細面板 257
9.2.10  其他內容 272
9.3  小結 273
第10章 故事板 274
10.1  創建一個簡單的故事板 274
10.2  動態原型單元 277
10.2.1  使用故事板的動態表內容 277
10.2.2  編輯原型單元 278
10.2.3  實現表視圖數據源 279
10.2.4  它會載入嗎 281
10.3  靜態單元 282
10.3.1  實現靜態單元 282
10.3.2  實現表視圖數據源 283
10.4  聯線 285
10.4.1  創建聯線導航 285
10.4.2  設計故事板 286
10.4.3  第一個視圖轉換 287
10.4.4  更為實用的任務列表 288
10.4.5  查看任務詳情 289
10.4.6  設定更多聯線 290
10.4.7  從列表中傳遞任務 291
10.4.8  處理任務細節 292
10.4.9  回傳詳細信息 293
10.4.10  讓列表獲取詳細信息 294
10.4.11  小結 295
第11章 iPad開發注意事項 296
11.1  分割視圖和浮動視窗 296
11.1.1  創建SplitView項目 298
11.1.2  在故事板中定義結構 300
11.1.3  使用代碼定義功能 301
11.2  顯示總統信息 307
11.3  創建浮動視窗 313
11.4  小結 319
第12章 應用程式設定及用戶默認設定 320
12.1  設定捆綁包入門 320
12.2  AppSettings應用程式 321
12.2.1  創建項目 324
12.2.2  使用設定捆綁包 325
12.2.3  讀取應用程式中的設定 338
12.2.4  在應用程式中修改默認設定 342
12.2.5  註冊默認值 344
12.2.6  保證設定有效 345
12.3  小結 348
第13章 數據持久化基礎知識 349
13.1  應用程式的沙盒 349
13.1.1  獲取Documents目錄 350
13.1.2  獲取tmp目錄 351
13.2  檔案保存策略 351
13.2.1  單檔案持久化 352
13.2.2  多檔案持久化 352
13.3  屬性列表 352
13.3.1  屬性列表序列化 352
13.3.2  Persistence應用程式的第一個版本 353
13.4  對模型對象進行歸檔 358
13.4.1  遵循NSCoding協定 358
13.4.2  實現NSCopying協定 360
13.4.3  對數據對象進行歸檔和取消歸檔 360
13.4.4  歸檔應用程式 361
13.5  使用iOS內嵌的SQLite3 364
13.5.1  創建或打開資料庫 365
13.5.2  綁定變數 366
13.5.3  SQLite3應用程式 367
13.6  使用Core Data 373
13.6.1  實體和託管對象 374
13.6.2  Core Data應用程式 378
13.7  小結 386
第14章 iCloud之旅 387
14.1  使用UIDocument管理文檔存儲 387
14.1.1  構建TinyPix 388
14.1.2  創建BIDTinyPix-Document類 388
14.1.3  主代碼 391
14.1.4  初始故事板 397
14.1.5  創建BIDTinyPixView類 400
14.1.6  設計詳細視圖 403
14.2  添加iCloud支持 407
14.2.1  創建provisioning profile 408
14.2.2  啟用iCloud授權 409
14.2.3  如何查詢 409
14.2.4  保存在哪裡 411
14.2.5  將首選項保存到iCloud 411
14.3  小結 412
第15章 Grand Central Dispatch和後台處理 414
15.1  Grand Central Dispatch 414
15.2  SlowWorker簡介 415
15.3  執行緒基礎知識 418
15.4  工作單元 419
15.5  GCD:低級佇列 419
15.5.1  傻瓜式操作 420
15.5.2  改進SlowWorker 421
15.6  後台處理 426
15.6.1  應用程式生命周期 427
15.6.2  狀態更改通知 427
15.6.3  創建State Lab項目 428
15.6.4  執行狀態的變化 430
15.6.5  利用執行狀態更改 431
15.6.6  處理不活動狀態 432
15.6.7  處理後台狀態 436
15.7  小結 443
第16章 使用Quartz和OpenGL繪圖 444
16.1  圖形世界的兩個視圖 444
16.2  Quartz 2D繪圖方法 445
16.2.1  Quartz 2D的圖形上下文 445
16.2.2  坐標系 446
16.2.3  指定顏色 447
16.2.4  在上下文中繪製圖像 449
16.2.5  繪製形狀:多邊形、直線和曲線 449
16.2.6  Quartz 2D工具採樣器:模式、梯度、虛線模式 450
16.3  QuartzFun應用程式 451
16.3.1  建立QuartzFun應用程式 451
16.3.2  添加Quartz 2D的繪圖代碼 460
16.3.3  最佳化QuartzFun應用程式 465
16.4  GLFun應用程式 468
16.4.1  建立GLFun應用程式 468
16.4.2  創建BIDGLFunView類 469
16.4.3  更新BIDView-Controller類 475
16.4.4  更新nib檔案 476
16.4.5  完成GLFun應用程式 476
16.5  小結 476
第17章 輕擊、觸摸和手勢 477
17.1  多點觸控術語 477
17.2  回響者鏈 478
17.2.1  回響事件 478
17.2.2  轉發事件:保持回響者鏈的活動狀態 479
17.3  多點觸控體系結構 480
17.4  4個手勢通知方法 480
17.5  TouchExplorer應用程式 481
17.6  Swipes應用程式 485
17.6.1  自動手勢識別 488
17.6.2  實現多指滑動 489
17.7  檢測多次輕擊 491
17.8  檢測捏合和旋轉 496
17.9  自定義手勢 500
17.9.1  CheckPlease應用程式 501
17.9.2  CheckPlease的觸摸方法 503
17.10  小結 505
第18章 Core Location和Map Kit 506
18.1  位置管理器 506
18.1.1  設定精度 507
18.1.2  設定距離篩選器 507
18.1.3  啟動位置管理器 508
18.1.4  合理使用位置管理器 508
18.2  位置管理器委託 508
18.2.1  獲取位置更新 508
18.2.2  使用CLLocation獲取緯度和經度 508
18.2.3  錯誤通知 510
18.3  試用Core Location 511
18.4  將移動路線展現在地圖上 516
18.5  小結 519
第19章 陀螺儀和加速計 520
19.1  加速計物理學 520
19.2  不要忘記旋轉 521
19.3  Core Motion和動作管理器 521
19.3.1  基於事件的動作 522
19.3.2  主動動作訪問 527
19.3.3  加速計結果 529
19.4  檢測搖動 530
19.4.1  內嵌的搖動檢測 531
19.4.2  搖動與擊碎 531
19.5  將加速計用做方向控制器 536
19.5.1  滾彈珠程式 537
19.5.2  實現BIDBallView類 539
19.5.3  計算彈珠運動 542
19.6  小結 544
第20章 照相機和照片庫 545
20.1  圖像選取器和UIImagePicker-
Controller 545
20.2  實現圖像選取器控制器委託 547
20.3  實際測試照相機和照片庫 548
20.3.1  設計界面 549
20.3.2  實現照相機視圖控制器 550
20.4  小結 553
第21章 集合視圖 554
21.1  創建DialogViewer項目 554
21.2  視圖控制器類 555
21.3  自定義單元 555
21.4  配置視圖控制器 558
21.5  內容單元 559
21.6  實現流式布局 560
21.7  分區標題視圖 562
21.8  小結 563
第22章 應用程式本地化 564
22.1  本地化體系結構 564
22.2  字元串檔案 565
22.2.1  字元串檔案 566
22.2.2  本地化的字元串宏 566
22.3  現實中的iOS:本地化應用程式 567
22.3.1  創建LocalizeMe 568
22.3.2  測試LocalizeMe 570
22.3.3  本地化nib檔案 571
22.3.4  本地化圖像 575
22.3.5  生成並本地化字元串檔案 577
22.3.6  Base Internationalization 579
22.3.7  套用顯示名稱的本地化 582
22.4  小結 583
附錄A  未來之路 584

相關詞條

熱門詞條

聯絡我們