注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網(wǎng)絡軟件與程序設計程序設計綜合iOS編程實戰(zhàn)

iOS編程實戰(zhàn)

iOS編程實戰(zhàn)

定 價:¥79.00

作 者: (美)Rob Napier,Mugunth Kumar 著; 美團移動 譯
出版社: 人民郵電出版社
叢編項: 圖靈程序設計叢書
標 簽: 編程語言與程序設計 計算機與互聯(lián)網(wǎng)

ISBN: 9787115368034 出版時間: 2014-09-01 包裝: 平裝
開本: 16開 頁數(shù): 389 字數(shù):  

內容簡介

  《iOS編程實戰(zhàn)》是最受開發(fā)者喜愛的iOS進階圖書。它包含大量代碼示例,主線是圍繞如何設計、編寫和維護優(yōu)秀的iOS應用。開發(fā)者可從《iOS編程實戰(zhàn)》學到大量關于設計模式、編寫可重用代碼以及語法與新框架的知識。相對上一版,新版進行了大幅修訂,新增6章闡述iOS 7新特性,并對大部分內容進行了更新,涵蓋了iOS 7大部分新增特性,包括新的后臺操作(第11章)、Core Bluetooth(第13章)、UIKit 動力學(第19章)以及TextKit(第21章)。我們提供了如何處理新的扁平化UI的指南(第2章),還新增了一章開發(fā)者不太常見但相當實用的“小技巧”(第3章)?!秈OS編程實戰(zhàn)》適合iOS移動開發(fā)人員。

作者簡介

  Rob Napier 2005年開始從事Mac開發(fā),iPhone SDK第一版發(fā)布時就開始開發(fā)iPhone應用。他是The Daily、PandoraBoy和Cisco Mobile的作者,Stack Overflow的主要貢獻者,并維護技術博客Cocoaphony(cocoaphony.com),主要關注組網(wǎng)、性能、安全和MVC模式?!ugunth Kumar 獨立iOS開發(fā)者,新加坡南洋理工大學碩士研究生,主修信息系統(tǒng)。其個人博客(blog.mugunthkumar.com)主要發(fā)表移動開發(fā)、軟件可用性、用戶體驗和iOS相關的文章。從事iOS開發(fā)前,他在財富500強企業(yè)通用電氣和霍尼韋爾擔任Windows和.NET平臺軟件顧問。他關注的領域包括編程方法論(面向對象和函數(shù)式編程)、移動開發(fā)以及可用性設計。

圖書目錄

第一部分 全新功能
第1章 全新的系統(tǒng) 2
1.1 新的UI 2
1.2 UIKit Dynamics和Motion Effects 3
1.3 自定義過渡效果 4
1.4 新的多任務模式 4
1.5 Text Kit 5
1.6 動態(tài)字體 5
1.7 MapKit集成 5
1.8 SpriteKit 5
1.9 LLVM 5 5
1.10 Xcode 5 7
1.10.1 nib文件格式的變化 7
1.10.2 源代碼控制集成 7
1.10.3 自動配置 7
1.10.4 對調試導航面板的改進 8
1.10.5 文檔瀏覽器 8
1.10.6 Asset Catalog 9
1.10.7 測試導航面板 9
1.10.8 持續(xù)集成 10
1.10.9 Auto Layout改進 10
1.10.10 iOS模擬器 10
1.11 其他 10
1.12 小結 11
1.13 擴展閱讀 11
第2章 世界是平的:新的UI范式 12
2.1 清晰、依從和層次 12
2.2 動畫、動畫、動畫 12
2.2.1 UIKit Dynamics 13
2.2.2 UIMotionEffect 13
2.3 著色 14
2.4 用半透明實現(xiàn)層次和上下文 14
2.5 動態(tài)字體 15
2.6 自定義過渡效果 16
2.7 把應用過渡(遷移)到iOS 7 17
2.7.1 UIKit變化 17
2.7.2 自定義設計 17
2.7.3 支持iOS 6 17
2.8 小結 20
2.9 擴展閱讀 20
第二部分 充分利用日常工具
第3章 你可能不知道的 22
3.1 命名最佳實踐 22
3.1.1 自動變量 22
3.1.2 方法 22
3.2 屬性和實例變量最佳實踐 23
3.3 分類 24
3.4 關聯(lián)引用 26
3.5 弱引用容器 27
3.6 NSCache 28
3.7 NSURLComponents 28
3.8 CFStringTransform 29
3.9 instancetype 30
3.10 Base64和百分號編碼 31
3.11 -[NSArray firstObject] 31
3.12 小結 31
3.13 擴展閱讀 32
第4章 故事板及自定義切換效果 33
4.1 初識故事板 33
4.1.1 實例化故事板 34
4.1.2 加載故事板中的視圖控制器 34
4.1.3 聯(lián)線 34
4.1.4 使用故事板來實現(xiàn)表視圖 36
4.2 自定義切換效果 37
4.2.1 優(yōu)點 39
4.2.2 白璧微瑕——合并沖突 39
4.3 小結 39
4.4 擴展閱讀 39
第5章 掌握集合視圖 41
5.1 集合視圖 41
5.1.1 類與協(xié)議 41
5.1.2 示例 42
5.2 用集合視圖自定義布局實現(xiàn)高級定制 49
5.2.1 石工布局 50
5.2.2 封面瀏覽布局 55
5.3 小結 56
5.4 擴展閱讀 56
第6章 使用自動布局 58
6.1 Xcode 4的自動布局 58
6.2 了解自動布局 59
6.3 Xcode 5中自動布局的新特性 59
6.3.1 在Xcode 5中使用自動布局 61
6.3.2 固有尺寸 62
6.3.3 固有尺寸和本地化 63
6.3.4 設計時和運行時布局 63
6.3.5 自動更新邊框 64
6.3.6 頂部和底部布局引導 65
6.3.7 輔助編輯器中的布局預覽 65
6.3.8 在設計時調試自動布局 65
6.3.9 在自動布局中使用滾動視圖 66
6.3.10 使用自動布局和邊框 66
6.3.11 可視格式化語言 66
6.3.12 可視格式化語言的缺點 67
6.3.13 調試布局錯誤 68
6.4 小結 69
6.5 擴展閱讀 69
第7章 更完善的自定義繪圖 71
7.1 iOS的不同繪圖系統(tǒng) 71
7.2 UIKit和視圖繪圖周期 72
7.3 視圖繪制與視圖布局 73
7.4 自定義視圖繪制 74
7.4.1 通過UIKit繪圖 74
7.4.2 路徑 75
7.4.3 理解坐標系 77
7.4.4 重新調整大小以及內容模式 79
7.4.5 變形 80
7.4.6 通過Core Graphics進行繪制 82
7.4.7 混用UIKit與Core Graphics 85
7.4.8 管理圖形上下文 85
7.5 優(yōu)化UIView繪制 87
7.5.1 避免繪圖 87
7.5.2 緩存與后臺繪制 88
7.5.3 自定義繪圖與預渲染 88
7.5.4 像素對齊與模糊文本 89
7.5.5 透明、不透明與隱藏 90
7.6 小結 90
7.7 擴展閱讀 91
第8章 Core Animation 92
8.1 視圖動畫 92
8.2 管理用戶交互 94
8.3 圖層繪制 94
8.3.1 直接設置內容 96
8.3.2 實現(xiàn)display方法 97
8.3.3 自定義繪圖 97
8.3.4 在自己的上下文中繪圖 99
8.4 移動對象 99
8.4.1 隱式動畫 100
8.4.2 顯式動畫 101
8.4.3 模型與表示 101
8.4.4 關于定時 103
8.5 三維動畫 105
8.6 美化圖層 108
8.7 用動作實現(xiàn)自動動畫 108
8.8 為自定義屬性添加動畫 110
8.9 Core Animation與線程 111
8.10 小結 111
8.11 擴展閱讀 111
第9章 多任務 113
9.1 多任務和運行循環(huán)簡介 113
9.2 以操作為中心的多任務開發(fā) 114
9.3 用GCD實現(xiàn)多任務 118
9.3.1 分派隊列簡介 119
9.3.2 用分派屏障創(chuàng)建同步點 120
9.3.3 分派組 121
9.4 小結 121
9.5 擴展閱讀 121
第三部分 選擇工具
第10章 創(chuàng)建(Core)Foundation框架 124
10.1 Core Foundation類型 124
10.2 命名和內存管理 125
10.3 分配器 126
10.4 內省 126
10.5 字符串和數(shù)據(jù) 127
10.5.1 常量字符串 127
10.5.2 創(chuàng)建字符串 128
10.5.3 轉換為C字符串 129
10.5.4 其他字符串操作符 131
10.5.5 字符串的支持存儲 131
10.5.6 CFData 132
10.6 容器類型 132
10.6.1 CFArray 133
10.6.2 CFDictionary 133
10.6.3 CFSet和CFBag 134
10.6.4 其他容器類型 134
10.6.5 回調函數(shù) 134
10.7 自由橋接 136
10.8 小結 139
10.9 擴展閱讀 139
第11章 幕后制作:后臺處理 140
11.1 后臺運行最佳實踐:能力越大責任越大 140
11.2 iOS 7中后臺運行的重要變化 142
11.3 用NSURLSession訪問網(wǎng)絡 142
11.3.1 會話配置 143
11.3.2 任務 143
11.3.3 后臺傳輸 144
11.4 周期性拉取和自適應多任務 146
11.5 后臺喚醒 146
11.6 狀態(tài)恢復系統(tǒng) 147
11.6.1 測試狀態(tài)恢復系統(tǒng) 147
11.6.2 選擇性加入 148
11.6.3 應用啟動過程的變化 149
11.6.4 狀態(tài)恢復標識符 149
11.6.5 狀態(tài)編碼器與狀態(tài)解碼器 149
11.6.6 表視圖和集合視圖 153
11.7 小結 154
11.8 擴展閱讀 154
第12章 使用REST服務 156
12.1 REST簡介 157
12.2 選擇數(shù)據(jù)交換格式 157
12.2.1 在iOS中解析XML 157
12.2.2 在iOS中解析JSON 158
12.2.3 XML與JSON 159
12.2.4 模型版本化 160
12.3 假想的Web服務 160
12.4 重要提醒 161
12.5 RESTfulEngine架構(iHotelApp示例代碼) 161
12.5.1 NSURLConnection與第三方框架 161
12.5.2 創(chuàng)建RESTfulEngine 162
12.5.3 使用訪問令牌對API調用進行認證 165
12.5.4 在RESTfulEngine.m中覆蓋相關方法以添加自定義認證頭部 165
12.5.5 取消請求 166
12.5.6 請求響應 166
12.5.7 對JSON數(shù)據(jù)進行鍵值編碼 167
12.5.8 列表頁面的JSON對象與詳細頁面的JSON對象 169
12.5.9 嵌套JSON對象 169
12.5.10 少即是多 171
12.5.11 錯誤處理 171
12.5.12 本地化 173
12.5.13 使用分類處理其他格式 173
12.5.14 在iOS中提升性能的小技巧 174
12.6 緩存 174
12.7 需要離線支持的原因 174
12.8 緩存策略 175
12.8.1 存儲緩存 175
12.8.2 緩存版本和失效 178
12.9 數(shù)據(jù)模型緩存 178
12.10 緩存版本控制 182
12.11 創(chuàng)建內存緩存 183
12.11.1 為AppCache設計內存緩存 184
12.11.2 處理內存警告 185
12.11.3 處理結束和進入后臺通知 186
12.12 創(chuàng)建URL緩存 186
12.12.1 過期模型 187
12.12.2 驗證模型 187
12.12.3 示例 187
12.12.4 用URL緩存來緩存圖片 188
12.13 小結 188
12.14 擴展閱讀 188
第13章 充分利用藍牙設備 190
13.1 藍牙歷史 190
13.2 為什么選擇低功耗藍牙 191
13.3 藍牙SDK 191
13.3.1 服務器 191
13.3.2 客戶端 191
13.4 類和協(xié)議 191
13.5 使用藍牙設備 192
13.5.1 通過掃描尋找服務 192
13.5.2 連接設備 194
13.5.3 直接獲取外圍設備 194
13.5.4 發(fā)現(xiàn)服務 194
13.5.5 發(fā)現(xiàn)特性 195
13.6 創(chuàng)建自己的外圍設備 197
13.6.1 廣播服務 197
13.6.2 常見場景 200
13.7 在后臺運行 200
13.7.1 后臺模式 200
13.7.2 電量考慮 200
13.7.3 狀態(tài)保存和恢復 200
13.8 小結 201
13.9 擴展閱讀 201
第14章 通過安全服務鞏固系統(tǒng)安全 203
14.1 理解iOS沙盒 203
14.2 保證網(wǎng)絡通信的安全 204
14.2.1 證書工作原理 205
14.2.2 檢驗證書的有效性 207
14.2.3 判斷證書的可信度 210
14.3 使用文件保護 211
14.4 使用鑰匙串 213
14.5 使用加密 216
14.5.1 AES概要 217
14.5.2 使用PBKDF2將密碼轉換成密鑰 217
14.5.3 AES模式和填充 219
14.5.4 初始化向量 220
14.5.5 使用HMAC進行認證 221
14.5.6 錯誤的密碼 222
14.5.7 組合使用加密和壓縮 222
14.6 小結 222
14.7 擴展閱讀 222
第15章 在多個蘋果平臺和設備及64位體系結構上運行應用 224
15.1 開發(fā)多平臺應用 225
15.1.1 可配置的目標設置:Base SDK和Deployment Target 225
15.1.2 支持多個SDK時的注意事項:框架、類和方法 225
15.1.3 檢查框架、類和方法的可用性 227
15.2 檢測設備的功能 228
15.2.1 檢測設備及判斷功能 228
15.2.2 檢測硬件和傳感器 229
15.3 應用內發(fā)送Email和短信 233
15.4 支持新的4英寸設備族系 233
15.4.1 Cocoa自動布局 235
15.4.2 代碼中固化屏幕尺寸 235
15.4.3 iPhone 5s和新的64位指令集 235
15.5 向iOS 7遷移 236
15.5.1 自動布局 236
15.5.2 支持iOS 6 236
15.5.3 應用圖標 237
15.5.4 邊界按鈕 237
15.5.5 著色 237
15.5.6 圖片更新 237
15.6 向64位體系結構遷移 238
15.6.1 數(shù)據(jù)溢出 238
15.6.2 序列化數(shù)據(jù) 239
15.6.3 針對64位體系結構的條件編譯 239
15.7 UIRequiredDeviceCapabilities 239
15.8 小結 240
15.9 擴展閱讀 240
第16章 國際化和本地化 242
16.1 什么是本地化 242
16.2 本地化字符串 243
16.3 對未本地化的字符串進行審查 244
16.4 格式化數(shù)字和日期 245
16.5 nib文件和Base Internationalization 248
16.6 本地化復雜字符串 248
16.7 小結 250
16.8 擴展閱讀 251
第17章 調試 252
17.1 LLDB 252
17.2 使用LLDB進行調試 252
17.2.1 dSYM文件 253
17.2.2 符號化 254
17.3 斷點 255
17.4 觀察點 258
17.5 LLDB控制臺 259
17.6 NSZombieEnabled標志 262
17.7 不同的崩潰類型 263
17.7.1 EXC_BAD_ACCESS 263
17.7.2 SIGSEGV 263
17.7.3 SIGBUS 264
17.7.4 SIGTRAP 264
17.7.5 EXC_ARITHMETIC 264
17.7.6 SIGILL 264
17.7.7 SIGABRT 264
17.7.8 看門狗超時 265
17.7.9 自定義錯誤信號處理程序 265
17.8 斷言 265
17.9 異常 267
17.10 收集崩潰報告 268
17.11 第三方崩潰報告服務 269
17.12 小結 270
17.13 擴展閱讀 270
第18章 性能調優(yōu) 272
18.1 性能思維模式 272
18.1.1 指導方針一:產(chǎn)品是為了取悅用戶才存在的 272
18.1.2 指導方針二:設備是為了方便用戶而存在的 272
18.1.3 指導方針三:做到極致 272
18.1.4 指導方針四:用戶的感知才是實際的 273
18.1.5 指導方針五:關注能帶來大收益的方面 273
18.2 歡迎走入Instruments的世界 273
18.3 查找內存問題 275
18.4 查找CPU問題 279
18.4.1 Accelerate框架 282
18.4.2 GLKit 283
18.4.3 編譯器優(yōu)化 283
18.4.4 鏈接器優(yōu)化 284
18.5 繪圖性能 284
18.6 優(yōu)化磁盤訪問和網(wǎng)絡訪問 286
18.7 小結 286
18.8 擴展閱讀 286
第四部分 超越極限
第19章 近乎物理效果:UIKit動力學 290
19.1 動畫類、行為和動力項 290
19.2 UIKit“物理” 291
19.3 內置行為 292
19.3.1 迅速移動 292
19.3.2 附著 292
19.3.3 推力 293
19.3.4 重力 294
19.3.5 碰撞 294
19.3.6 動力項 295
19.4 行為層次結構 295
19.5 自定義操作 295
19.6 實戰(zhàn):一個“撕開”視圖 296
19.6.1 拖拽視圖 296
19.6.2 撕開該視圖 297
19.6.3 添加額外效果 300
19.7 多個動力學動畫類 301
19.8 與UICollectionView交互 302
19.9 小結 305
19.10 擴展閱讀 305
第20章 魔幻的自定義過渡 306
20.1 iOS 7中的自定義過渡 306
20.2 過渡協(xié)調器 307
20.3 集合視圖和布局過渡 308
20.4 使用故事板和自定義聯(lián)線的自定義視圖控制器過渡 308
20.5 自定義視圖控制器過渡:iOS 7風格 308
20.6 使用iOS 7 SDK的交互式自定義過渡 310
20.7 小結 312
20.8 擴展閱讀 313
第21章 精妙的文本布局 314
21.1 理解富文本 314
21.1.1 字符與字形 314
21.1.2 理解字體 316
21.1.3 段落樣式 316
21.2 屬性化字符串 317
21.2.1 用字體描述符選擇字體 318
21.2.2 設置段落樣式 319
21.2.3 HTML 319
21.2.4 簡化屬性化字符串的使用 320
21.3 動態(tài)字體 321
21.4 Text Kit 322
21.4.1 Text Kit的組件 323
21.4.2 多容器布局 324
21.4.3 排除路徑 325
21.4.4 繼承文本容器 326
21.4.5 繼承文本存儲 327
21.4.6 繼承布局管理器 331
21.4.7 針對字形的布局 334
21.5 Core Text 337
21.5.1 用CTFramesetter進行簡單的布局 337
21.5.2 為非連續(xù)路徑創(chuàng)建框架 338
21.5.3 排版器、文本行、連續(xù)文本和字形 340
21.6 小結 340
21.7 擴展閱讀 341
第22章 Cocoa的大招:鍵值編碼和觀察 342
22.1 鍵值編碼 342
22.1.1 用KVC賦值 344
22.1.2 用鍵路徑遍歷屬性 345
22.1.3 KVC和容器類 345
22.1.4 KVC和字典 347
22.1.5 KVC和非對象 347
22.1.6 用KVC實現(xiàn)高階消息傳遞 347
22.1.7 容器操作符 347
22.2 鍵值觀察 348
22.2.1 KVO和容器類 350
22.2.2 KVO是如何實現(xiàn)的 351
22.3 KVO的權衡 351
22.4 小結 352
22.5 擴展閱讀 353
第23章 超越隊列:GCD高級功能 354
23.1 信號量 354
23.2 分派源 356
23.3 定時器源 358
23.4 單次分派 358
23.5 隊列關聯(lián)數(shù)據(jù) 359
23.6 分派數(shù)據(jù)和分派I/O 362
23.7 小結 367
23.8 擴展閱讀 367
第24章 深度解析Objective-C 368
24.1 理解類和對象 368
24.2 使用方法和屬性 370
24.3 使用方法簽名和調用 372
24.4 消息傳遞如何工作 378
24.4.1 動態(tài)實現(xiàn) 378
24.4.2 快速轉發(fā) 380
24.4.3 普通轉發(fā) 383
24.4.4 轉發(fā)失敗 384
24.4.5 各種版本的objc_msgSend 384
24.5 方法混寫 385
24.6 ISA混寫 387
24.7 方法混寫與ISA混寫 388
24.8 小結 389
24.9 擴展閱讀 389

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號