《iOS應用開發最佳實踐》
基本信息
做者: 王浩
出版社:電子工業出版社
ISBN:9787121207679
上架時間:2013-7-22
出版日期:2013 年8月
開本:16開
頁碼:552
版次:1-1
所屬分類:計算機 > 軟件與程序設計 > 移動開發
內容簡介
計算機書籍
《ios應用開發最佳實踐》對ios應用開發的方方面面進行了說明。全書分爲20章,系統地介紹了建立第1個iphone應用、objective-c語言開發基礎、設計iphone應用、導航欄視圖控制器和標籤欄視圖控制器、屬性字符串、ios控件應用入門、ios控件應用進階、應用及視圖生命週期、ios繪圖和自動旋轉、ios自動佈局、手勢識別技術、ios高級控件、passbook、集合視圖、ios多線程編程、數據持久化、core location定位和map kit、core motion動做管理器,以及icloud雲服務。全書的講解通俗易懂,按部就班,案例豐富,幫助讀者快速掌握ios開發技巧並可以作到觸類旁通、融會貫通。
《ios應用開發最佳實踐》適合有必定.net、java等開發經驗的開發人員、須要爲企業內部用戶開發ios應用的it人員、但願接觸和了解ios應用開發的人員,以及但願瞭解ios應用的各類特性的人員閱讀和參考。
目錄
《ios應用開發最佳實踐》
第1章 建立第1個iphone應用 1
1.1 iphone應用開發的背景 1
1.2 作好準備工做 5
1.3 下載開發工具 7
1.4 瞭解ios運行環境 8
1.5 ios應用開發的注意點 9
1.6 建立第1個hello world iphone應用 10
1.6.1 經過xcode建立並運行iphone項目 10
1.6.2 瞭解iphone應用的基本運行機理 15
1.6.3 豐富你的iphone應用 18
1.6.4 爲應用添加桌面圖標 21
1.6.5 關於iphone 5應用的補充說明 24
1.6.6 老版本應用的兼容性問題 24
1.7 小結 24
第2章 objective-c語言開發基礎 25
2.1 objective-c的hello world程序 26
2.2 建立一個objective-c類 29
2.2.1 經過xcode建立person類 29
2.2.2 對person類的解讀 32
.2.2.3 類的構造方法 36
2.2.4 繼承和多態 38
2.2.5 選擇器(selector) 43
2.3 經常使用類介紹 45
2.3.1 nsstring類 45
2.3.2 nsarray類 48
2.3.3 nsdictionary類 51
2.4 屬性(property) 53
2.4.1 設置屬性 53
2.4.2 以person類爲例 53
2.4.3 @synthesize指令 54
2.4.4 xcode 4.5之後版本對@synthesize指令的處理 56
2.4.5 屬性特性 56
2.5 內存管理 58
2.6 類別(class category) 59
2.7 類擴展(class extension) 62
2.8 協議 63
2.8.1 聲明協議 63
2.8.2 使用協議 63
2.8.3 更多協議的特性 64
2.9 小結 64
第3章 設計iphone應用——從零開始 65
3.1 mvc架構 65
3.2 基於nib文件開發單視圖交互性的應用 67
3.1.1 建立交互性應用視圖 67
3.1.2 鏈接視圖和視圖控制器 72
3.1.3 建立事件處理代碼 76
3.3 建立多視圖交互應用 78
3.2.1 建立空應用 79
3.2.2 添加主視圖 81
3.2.3 添加子視圖 85
3.2.4 進一步完善應用 86
3.4 小結 91
第4章 設計iphone應用——使用故事板 92
4.1 故事板和segue 92
4.2 完整的mvc應用 94
4.2.1 建立視圖框架 94
4.2.2 添加unwind segue 98
4.2.3 經過unwind segue傳遞數據 100
4.2.4 準備武俠故事模型 103
4.2.5 經過segue傳遞數據 105
4.2.6 完善詳情視圖並運行應用 106
4.2.7 繼續完善應用——動態建立控件 110
4.2.8 建立自適應文字長度的標籤控件 112
4.3 容器視圖(container view) 113
4.3.1 容器視圖的基本知識 113
4.3.2 容器視圖的簡單例子 114
4.3.3 實現子視圖控制器之間的互動(一) 120
4.3.4 實現子視圖控制器之間的互動(二) 122
4.4 小結 125
第5章 導航欄視圖控制器和標籤欄視圖控制器 126
5.1 導航欄視圖控制器介紹 127
5.1.1 認識導航欄視圖控制器 127
5.1.2 認識master-detail項目模板 128
5.1.3 搭建導航欄視圖控制器項目 131
5.1.4 經過代碼建立導航欄視圖控制器 134
5.2 標籤欄視圖控制器介紹 135
5.2.1 認識標籤欄視圖控制器 135
5.2.2 認識tabbed application項目模板 136
5.2.3 搭建標籤欄視圖控制器項目 141
5.2.4 經過代碼建立標籤欄視圖控制器 144
5.3 集成導航欄視圖控制器與標籤欄視圖控制器 145
5.4 小結 147
第6章 屬性字符串 148
6.1 經過屬性字符串格式化文本 148
6.1.1 經過屬性格式配置標籤文本 150
6.1.2 屬性文本支持的控件 151
6.2 經過代碼設置屬性字符串 151
6.2.1 瞭解nsattributedstring類 152
6.2.2 設置字間距和字體背景色 154
6.2.3 設置陰影以及下畫線效果 155
6.2.4 爲字符串不一樣部分設置不一樣效果 156
6.2.5 設置段落效果 157
6.2.6 能夠設置的屬性字符串樣式列表 160
6.3 小結 161
第7章 ios控件
應用入門 162
7.1 ios控件簡介 162
7.2 分段控件、文本框控件、滑塊控件 163
7.2.1 分段控件介紹 164
7.2.2 文本框控件介紹 166
7.2.3 滑塊控件介紹 169
7.2.4 建立展現項目 171
7.2.5 在輸入完成後關閉鍵盤(一) 176
7.2.6 在輸入完成後關閉鍵盤(二) 177
7.2.7 點擊視圖退出鍵盤 179
7.3 web視圖和活動指示器控件 180
7.3.1 web視圖控件介紹 180
7.3.2 活動指示器控件介紹 182
7.3.3 建立展現項目 184
7.4 圖像視圖控件 189
7.4.1 圖像視圖控件介紹 190
7.4.2 建立展現項目 190
7.5 小結 193
第8章 ios控件
應用進階 195
8.1 進度視圖、開關和計步器控件 195
8.1.1 進度視圖控件介紹 195
8.1.2 開關控件介紹 197
8.1.3 計步器控件介紹 198
8.1.4 建立展現項目 199
8.2 警告視圖、動做表單、活動視圖控制器 202
8.2.1 警告視圖介紹 203
8.2.2 警告視圖示例 204
8.2.3 動做表單介紹(郵件視圖控制器) 208
8.2.4 動做表單示例 210
8.2.5 活動視圖控制器介紹 215
8.2.6 活動視圖控制器示例 216
8.3 日期選擇器(工具欄控件) 218
8.3.1 日期選擇器控件介紹 218
8.3.2 建立展現項目 219
8.4 自定義選擇器 226
8.5 自定義選擇器控件介紹 226
8.5.1 數據源協議——uipicker-viewdatasource 227
8.5.2 代理協議——uipicker-viewdelegate 228
8.5.3 建立plist文件數據源 229
8.5.4 讀取plist文件的方法 233
8.5.5 單輪選擇器示例 233
8.5.6 多輪選擇器示例 237
8.6 小結 241
第9章 應用及視圖生命週期 242
9.1 應用的生命週期 242
9.1.1 應用的不一樣狀態 243
9.1.2 經過代碼模擬觀察應用生命週期 245
9.1.3 應用程序的加載 247
9.1.4 響應中斷 248
9.1.5 進入後臺運行 249
9.1.6 返回前臺運行 250
9.1.7 關於main函數 251
9.2 視圖生命週期 252
9.2.1 視圖生命週期簡介 252
9.2.2 視圖生命週期中的主要方法 253
9.2.3 loadview方法 253
9.2.4 與應用生命週期的互動 254
9.3 小結 256
第10章 ios繪圖和自動旋轉 257
10.1 ios繪圖 257
10.1.1 視圖和座標體系 258
10.1.2 圖形顏色處理 260
10.1.3 在上下文中繪製圖形 261
10.1.4 手工繪圖應用示例 264
10.2 自動旋轉 270
10.2.1 旋轉屏幕 271
10.2.2 使用自動尺寸處理旋轉 273
10.2.3 經過代碼方式處理旋轉 276
10.3 小結 280
第11章 ios自動佈局 281
11.1 經過約束處理屏幕旋轉 282
11.1.1 約束應用示例 282
11.1.2 約束應用詳解 285
11.1.3 不一樣的約束類型——pin 286
11.1.4 不一樣的約束類型——align 290
11.1.5 視圖之間約束的互相做用 293
11.2 經過代碼建立約束 293
11.2.1 nslayoutconstraint類 293
11.2.2 經過代碼建立約束:指定控件位置 295
11.2.3 爲控件指定高度、寬度 297
11.2.4 處理多個控件 299
11.3 可視化格式語言 302
11.3.1 constraintswithvisual- format:方法 302
11.3.2 可視化格式語言的具體例子 303
11.3.3 可視化格式語言的深刻 304
11.4 小結 306
第12章 手勢識別技術 307
12.1 自定義手勢識別 307
12.2 使用自動手勢識別器 309
12.2.1 自動手勢識別開發原理 309
12.2.2 離散性手勢與連續性手勢 313
12.2.3 如何在模擬器中測試手勢 315
12.2.4 識別輕掃手勢 316
12.2.5 識別輕擊手勢 319
12.2.6 識別捏合手勢 320
12.2.7 建立自定義手勢識別器 323
12.3 小結 323
第13章 ios高級控件 324
13.1 滾動視圖控件 324
13.1.1 使用滾動視圖示例 325
13.1.2 在滾動視圖中支持圖片放大和縮小 328
13.1.3 滾動查看多個圖片 330
13.1.4 關於滾動視圖控件的更多知識 333
13.2 頁面指示器控件 334
13.2.1 頁面指示器控件示例 335
13.2.2 完善代碼:容許用戶點擊頁面指示器翻頁 339
13.3 表格視圖 340
13.3.1 表格樣式 341
13.3.2 單元格樣式 342
13.3.3 表格視圖元素 344
13.3.4 數據源協議uitable- viewdatasource 346
13.3.5 代理協議uitable- viewdelegate 348
13.3.6 表格視圖示例 348
13.3.7 建立自定義的表格單元格 355
13.3.8 分段示例 364
13.3.9 索引示例 368
13.3.10 實現搜索欄 369
13.4 小結 376
第14章 passbook 377
14.1 passbook初覽 378
14.2 經過passsource.com建立憑證 379
14.3 憑證的工做原理 382
14.4 建立第1個憑證 383
14.4.1 找到開發者團隊標識(teamidentifier) 383
14.4.2 建立憑證類型標識(passtype-identifier) 383
14.4.3 建立hello world憑證 388
14.5 憑證文件包的構成 395
14.6 pass.json文件 396
14.6.1 頂級鍵的說明 397
14.6.2 次級鍵的說明 398
14.7 打折券憑證詳解 400
14.8 登機牌憑證詳解 402
14.9 經過passkit框架操做憑證 406
14.9.1 passkit庫介紹 406
14.9.2 passkit示例 407
14.10 小結 410
第15章 集合視圖 (uicollection-view) 411
15.1 集合視圖基礎 412
15.1.1 數據源協議(uicollectionview-datasource) 413
15.1.2 代理協議(uicollectionview-delegate) 414
15.1.3 建立第1個集合視圖應用 414
15.1.4 集合視圖佈局(uicollectionview-layout) 422
15.1.5 認識補充視圖(supplementary view) 427
15.2 自定義集合視圖單元格 429
15.3 小結 431
第16章 ios多線程編程 432
16.1 什麼是多線程 432
16.2 ios的多線程知識 433
16.2.1 派遣隊列dispatch queue 434
16.2.2 程序塊block 440
16.2.3 在視圖中經過gcd實現異步操做 444
16.3 異步執行代碼的其餘方法 447
16.3.1 經過performselector來異步執行 447
16.3.2 經過nstimer來異步執行 449
16.4 後臺運行應用 449
16.5 小結 452
第17章 數據持久化 453
17.1 經過nsuserdefaults進行數據持久化 453
17.1.1 建立持久化聯繫人信息應用 454
17.1.2 保存用戶輸入的數據 456
17.1.3 讀取用戶保存的數據 458
17.2 應用程序沙盒 460
17.3 經過屬性列表持久化數據 463
17.4 歸檔對象 465
17.4.1 實現nscoding協議 466
17.4.2 歸檔對象或取消歸檔 467
17.5 使用sqlite數據庫 469
17.5.1 操做數據庫的sqlite函數 469
17.5.2 使用sqlite 3的視圖應用 473
17.6 使用core data 480
17.6.1 使用core data 480
17.6.2 經過代碼訪問數據模型 486
17.6.3 得到nsmanaged- objectcontext對象 489
17.6.4 如何插入、查詢、更新以及刪除數據 490
17.7 小結 493
第18章 core location定位和map kit 494
18.1 core location框架 494
18.1.1 位置管理器監控位置變化 496
18.1.2 位置管理器監控方向變化 497
18.1.3 使用位置管理器監控位置的例子 498
18.2 map kit 502
18.2.1 建立一個地圖應用 502
18.2.2 自定義地圖顯示位置及範圍 503
18.2.3 使用大頭針標註地理位置 506
18.2.4 瞭解和使用mkannotationview 509
18.3 小結 513
第19章 core motion動做管理器 514
19.1 動做管理器類 515
19.1.1 檢測加速計數據 517
19.1.2 檢測旋轉數據 522
19.1.3 檢測組合信息 523
19.2 捕獲動做事件 524
19.3 小結 524
第20章 icloud雲服務 526
20.1 瞭解icloud雲服務 526
20.2 雲存儲鍵/值對 529
20.3 雲存儲文檔 532
20.3.1 子類化uidocument 532
20.3.2 如何定位ubiquity container 534
20.3.3 如何經過nsmetadataquery查詢數據 535
20.3.4 文檔的生命週期 536
20.4 小結 537