注冊(cè) | 登錄讀書(shū)好,好讀書(shū),讀好書(shū)!
讀書(shū)網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書(shū)科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)計(jì)算機(jī)組織與體系結(jié)構(gòu)iOS開(kāi)發(fā)指南:從Hello World到App Store上架(第4版)

iOS開(kāi)發(fā)指南:從Hello World到App Store上架(第4版)

iOS開(kāi)發(fā)指南:從Hello World到App Store上架(第4版)

定 價(jià):¥119.00

作 者: 關(guān)東升
出版社: 人民郵電出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

購(gòu)買這本書(shū)可以去


ISBN: 9787115423184 出版時(shí)間: 2016-06-01 包裝:
開(kāi)本: 16開(kāi) 頁(yè)數(shù): 802 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  本書(shū)是iOS開(kāi)發(fā)杰出指南,分5部分講解如何從零起步編寫(xiě)并上線iOS應(yīng)用。首部分介紹iOS開(kāi)發(fā)基礎(chǔ)知識(shí),包括界面構(gòu)建技術(shù)、基本控件、協(xié)議、表視圖、屏幕適配、導(dǎo)航、分屏多任務(wù)等。第二部分介紹設(shè)計(jì)與架構(gòu)的相關(guān)知識(shí),包括設(shè)計(jì)模式、分層模式、本地?cái)?shù)據(jù)持久化等。第三部分為進(jìn)階篇,包括設(shè)置與配置、本地化、Contacts與ContactsUI框架、數(shù)據(jù)交換格式、Web Service、定位服務(wù)、蘋(píng)果地圖等內(nèi)容。第四部分介紹測(cè)試、調(diào)試和優(yōu)化等相關(guān)知識(shí)。第五部分為實(shí)戰(zhàn)篇,涵蓋代碼版本管理、項(xiàng)目依賴管理、App Store發(fā)布流程,以及兩個(gè)真實(shí)iOS應(yīng)用的分析設(shè)計(jì)、編程、測(cè)試與分布過(guò)程。本書(shū)同時(shí)提供Swift和Objective-C兩版代碼。本書(shū)適合所有iOS開(kāi)發(fā)人員學(xué)習(xí)參考。

作者簡(jiǎn)介

  國(guó)內(nèi)杰出iOS和Cocos技術(shù)作家、iOS技術(shù)顧問(wèn)、Cocos有價(jià)值專家(CVP)、智捷課堂首席培訓(xùn)專家、51CTO社區(qū)iOS技術(shù)顧問(wèn)。他精通iOS、Android和Windows及HTML5等移動(dòng)開(kāi)發(fā)技術(shù),擅長(zhǎng)應(yīng)用和游戲類項(xiàng)目開(kāi)發(fā),曾先后主持開(kāi)發(fā):大型網(wǎng)絡(luò)游戲《神農(nóng)訣》的iOS和Android客戶端,國(guó)家農(nóng)產(chǎn)品追溯系統(tǒng)的iPad客戶端,酒店預(yù)訂系統(tǒng)的iOS客戶端,金融系統(tǒng)的iOS、Windows及Android客戶端。與此同時(shí),他長(zhǎng)期為中國(guó)移動(dòng)研究院、方正科技、大唐電信、中國(guó)石油、工商銀行、南方航空、惠普、東軟集團(tuán)、NTT等企事業(yè)單位提供技術(shù)咨詢及員工培訓(xùn)。

圖書(shū)目錄

第一部分 基 礎(chǔ) 篇
第1章 開(kāi)篇綜述 2
1.1 iOS概述 2
1.1.1 iOS介紹 2
1.1.2 iOS 9新特性 2
1.2 開(kāi)發(fā)環(huán)境及開(kāi)發(fā)工具 3
1.3 本書(shū)約定 4
1.3.1 案例代碼約定 4
1.3.2 圖示的約定 5
1.3.3 方法命名約定 6
1.3.4 構(gòu)造函數(shù)命名約定 7
1.3.5 錯(cuò)誤處理約定 8
第2章 第一個(gè)iOS應(yīng)用程序 10
2.1 創(chuàng)建HelloWorld工程 10
2.1.1 創(chuàng)建工程 10
2.1.2 Xcode中的iOS工程模板 14
2.1.3 應(yīng)用剖析 15
2.2 應(yīng)用生命周期 17
2.2.1 非運(yùn)行狀態(tài)——應(yīng)用啟動(dòng)場(chǎng)景 19
2.2.2 點(diǎn)擊Home鍵——應(yīng)用退出場(chǎng)景 20
2.2.3 掛起重新運(yùn)行場(chǎng)景 22
2.2.4 內(nèi)存清除:應(yīng)用終止場(chǎng)景 23
2.3 設(shè)置產(chǎn)品屬性 23
2.3.1 Xcode中的工程和目標(biāo) 23
2.3.2 設(shè)置常用的產(chǎn)品屬性 26
2.4 iOS API簡(jiǎn)介 27
2.4.1 API概述 27
2.4.2 如何使用API幫助 29
2.5 小結(jié) 32
第3章 Cocoa Touch框架與構(gòu)建應(yīng)用界面 33
3.1 視圖控制器 33
3.1.1 視圖控制器種類 33
3.1.2 視圖的生命周期 33
3.2 視圖 35
3.2.1 UIView繼承層次結(jié)構(gòu) 35
3.2.2 視圖分類 37
3.2.3 應(yīng)用界面構(gòu)建層次 37
3.3 使用故事板構(gòu)建界面 38
3.3.1 什么是故事板 39
3.3.2 場(chǎng)景和過(guò)渡 41
3.4 使用XIB文件構(gòu)建界面 42
3.4.1 重構(gòu)HelloWorld 42
3.4.2 XIB與故事板比較 45
3.5 使用純代碼構(gòu)建界面 45
3.5.1 重構(gòu)HelloWorld 46
3.5.2 視圖的幾個(gè)重要屬性 47
3.6 3種構(gòu)建界面技術(shù)討論 49
3.6.1 所見(jiàn)即所得 49
3.6.2 原型驅(qū)動(dòng)開(kāi)發(fā) 49
3.6.3 團(tuán)隊(duì)協(xié)同開(kāi)發(fā) 49
3.7 小結(jié) 50
第4章 UIView與視圖 51
4.1 標(biāo)簽與按鈕 51
4.1.1 Interface Builder實(shí)現(xiàn) 51
4.1.2 代碼實(shí)現(xiàn) 55
4.2 事件處理 56
4.2.1 Interface Builder實(shí)現(xiàn) 56
4.2.2 代碼實(shí)現(xiàn) 59
4.3 訪問(wèn)視圖 60
4.3.1 Interface Builder實(shí)現(xiàn) 60
4.3.2 代碼實(shí)現(xiàn) 62
4.4 TextField和TextView 63
4.4.1 Interface Builder實(shí)現(xiàn) 64
4.4.2 代碼實(shí)現(xiàn) 65
4.4.3 鍵盤(pán)的打開(kāi)和關(guān)閉 67
4.4.4 關(guān)閉和打開(kāi)鍵盤(pán)的通知 68
4.4.5 鍵盤(pán)的種類 69
4.5 開(kāi)關(guān)控件、分段控件和滑塊控件 70
4.5.1 開(kāi)關(guān)控件 71
4.5.2 分段控件 72
4.5.3 滑塊控件 74
4.6 Web視圖:WKWebView類 76
4.7 警告框和操作表 80
4.7.1 UIAlertController實(shí)現(xiàn)警告框 81
4.7.2 UIAlertController實(shí)現(xiàn)操作表 83
4.8 等待相關(guān)的控件與進(jìn)度條 84
4.8.1 活動(dòng)指示器ActivityIndicatorView 85
4.8.2 進(jìn)度條ProgressView 87
4.9 工具欄和導(dǎo)航欄 90
4.9.1 工具欄 90
4.9.2 導(dǎo)航欄 94
4.10 小結(jié) 98
第5章 委托協(xié)議、數(shù)據(jù)源協(xié)議與高級(jí)視圖 99
5.1 視圖中的委托協(xié)議和數(shù)據(jù)源協(xié)議 99
5.2 選擇器 99
5.2.1 日期選擇器 99
5.2.2 普通選擇器 104
5.2.3 數(shù)據(jù)源協(xié)議與委托協(xié)議 109
5.3 集合視圖 111
5.4 實(shí)例:Interface Builder實(shí)現(xiàn)奧運(yùn)會(huì)比賽
項(xiàng)目 112
5.4.1 添加集合視圖 113
5.4.2 添加集合視圖單元格 114
5.4.3 數(shù)據(jù)源協(xié)議與委托協(xié)議 118
5.5 實(shí)例:代碼實(shí)現(xiàn)奧運(yùn)會(huì)比賽項(xiàng)目 120
5.5.1 添加集合視圖 120
5.5.2 自定義集合視圖單元格 122
5.6 小結(jié) 123
第6章 表視圖 124
6.1 概述 124
6.1.1 表視圖的組成 124
6.1.2 表視圖的相關(guān)類 125
6.1.3 表視圖分類 125
6.1.4 單元格的組成和樣式 127
6.1.5 數(shù)據(jù)源協(xié)議與委托協(xié)議 129
6.2 簡(jiǎn)單表視圖 129
6.2.1 實(shí)現(xiàn)協(xié)議方法 130
6.2.2 UIViewController根視圖控制器 130
6.2.3 UITableViewController根視圖
控制器 137
6.3 自定義表視圖單元格 140
6.3.1 Interface Builder實(shí)現(xiàn) 141
6.3.2 代碼實(shí)現(xiàn) 145
6.4 添加搜索欄 146
6.5 分節(jié)表視圖 150
6.5.1 添加索引 150
6.5.2 分組 153
6.6 靜態(tài)表與界面布局 154
6.7 插入和刪除單元格 160
6.7.1 Interface Builder實(shí)現(xiàn) 162
6.7.2 代碼實(shí)現(xiàn) 167
6.8 移動(dòng)單元格 169
6.9 表視圖UI設(shè)計(jì)模式 171
6.9.1 分頁(yè)模式 171
6.9.2 下拉刷新模式 171
6.9.3 下拉刷新控件 172
6.10 小結(jié) 174
第7章 界面布局與屏幕適配 175
7.1 界面布局概述 175
7.2 iOS界面布局設(shè)計(jì)模式 176
7.2.1 表單布局模式 176
7.2.2 列表布局模式 176
7.2.3 網(wǎng)格布局模式 177
7.3 傳統(tǒng)布局技術(shù) 177
7.4 Auto Layout布局技術(shù) 179
7.4.1 Interface Builder中管理Auto Layout
約束 179
7.4.2 實(shí)例:Auto Layout布局 180
7.5 iOS 9堆視圖StackView 185
7.5.1 堆視圖與布局 185
7.5.2 實(shí)例:堆視圖布局 186
7.6 iOS 屏幕的多樣性 191
7.6.1 iOS屏幕介紹 191
7.6.2 iOS的3種分辨率 192
7.6.3 獲得iOS設(shè)備屏幕信息 193
7.7 Size Class與iOS多屏幕適配 194
7.7.1 Interface Builder中使用Size Class 195
7.7.2 Size Class的九宮格 195
7.7.3 實(shí)例:使用Size Class 196
7.8 資源目錄與圖片資源適配 201
7.9 小結(jié) 204
第8章 視圖控制器與導(dǎo)航模式 205
8.1 概述 205
8.1.1 視圖控制器的種類 205
8.1.2 導(dǎo)航模式 205
8.2 模態(tài)視圖 207
8.2.1 Interface Builder實(shí)現(xiàn) 208
8.2.2 代碼實(shí)現(xiàn) 214
8.3 平鋪導(dǎo)航 215
8.3.1 應(yīng)用場(chǎng)景 215
8.3.2 基于分屏導(dǎo)航的實(shí)現(xiàn) 217
8.3.3 基于電子書(shū)導(dǎo)航的實(shí)現(xiàn) 223
8.4 標(biāo)簽導(dǎo)航 228
8.4.1 應(yīng)用場(chǎng)景 229
8.4.2 Interface Builder實(shí)現(xiàn) 230
8.4.3 代碼實(shí)現(xiàn) 234
8.5 樹(shù)形結(jié)構(gòu)導(dǎo)航 235
8.5.1 應(yīng)用場(chǎng)景 235
8.5.2 Interface Builder實(shí)現(xiàn) 236
8.5.3 代碼實(shí)現(xiàn) 244
8.6 組合使用導(dǎo)航模式 245
8.6.1 應(yīng)用場(chǎng)景 246
8.6.2 Interface Builder實(shí)現(xiàn) 246
8.6.3 代碼實(shí)現(xiàn) 254
8.7 小結(jié) 257
第9章 iPad應(yīng)用開(kāi)發(fā) 258
9.1 iPad與iPhone應(yīng)用開(kāi)發(fā)的差異 258
9.1.1 應(yīng)用場(chǎng)景不同 258
9.1.2 導(dǎo)航模式不同 258
9.1.3 API不同 258
9.2 iPad樹(shù)形結(jié)構(gòu)導(dǎo)航 259
9.2.1 郵件應(yīng)用中的樹(shù)形結(jié)構(gòu)導(dǎo)航 259
9.2.2 Master-Detail應(yīng)用程序模板 260
9.2.3 Interface Builder實(shí)現(xiàn)SplitViewSample案例 266
9.2.4 代碼實(shí)現(xiàn)SplitViewSample案例 270
9.3 iPad模態(tài)視圖 273
9.3.1 郵件應(yīng)用中的模態(tài)導(dǎo)航 273
9.3.2 iPad模態(tài)導(dǎo)航相關(guān)API 275
9.3.3 Interface Builder實(shí)現(xiàn)ModalView-
Sample案例 277
9.3.4 代碼實(shí)現(xiàn)ModalViewSample案例 281
9.4 Popover(浮動(dòng)層)視圖 284
9.4.1 Popover相關(guān)API 284
9.4.2 PopoverViewSample案例 285
9.5 iOS 9分屏多任務(wù) 289
9.5.1 Slide Over多任務(wù) 289
9.5.2 分屏視圖多任務(wù) 290
9.5.3 畫(huà)中畫(huà)多任務(wù) 293
9.6 iPad分屏多任務(wù)適配開(kāi)發(fā) 293
9.6.1 分屏多任務(wù)前提條件 293
9.6.2 分屏多任務(wù)適配 294
9.7 小結(jié) 295
第二部分 設(shè)計(jì)與架構(gòu)篇
第10章 iOS常用設(shè)計(jì)模式 298
10.1 單例模式 298
10.1.1 問(wèn)題提出 298
10.1.2 Objective-C實(shí)現(xiàn)原理 298
10.1.3 Swift實(shí)現(xiàn)原理 299
10.1.4 應(yīng)用案例 300
10.2 委托模式 301
10.2.1 問(wèn)題提出 301
10.2.2 實(shí)現(xiàn)原理 303
10.2.3 應(yīng)用案例 306
10.3 觀察者模式 309
10.3.1 問(wèn)題提出 309
10.3.2 實(shí)現(xiàn)原理 310
10.3.3 通知機(jī)制和KVO機(jī)制 311
10.4 再談MVC模式 317
10.4.1 MVC模式概述 317
10.4.2 Cocoa Touch中的MVC模式 318
10.5 小結(jié) 320
第11章 iOS分層架構(gòu)設(shè)計(jì) 321
11.1 低耦合企業(yè)級(jí)系統(tǒng)架構(gòu)設(shè)計(jì) 321
11.2 iOS分層架構(gòu)設(shè)計(jì) 322
11.2.1 工程與工作空間 322
11.2.2 靜態(tài)鏈接庫(kù) 323
11.2.3 框架 323
11.2.4 16種分層模式 324
11.3 實(shí)例:MyNotes應(yīng)用 325
11.4 基于同一工程的分層 327
11.4.1 采用純Swift語(yǔ)言實(shí)現(xiàn):PSSS
模式 327
11.4.2 采用純Objective-C語(yǔ)言實(shí)現(xiàn):
POOO模式 330
11.4.3 采用Swift調(diào)用Objective-C的
混合搭配實(shí)現(xiàn):PSOO模式 334
11.5 基于同一工作空間靜態(tài)鏈接庫(kù)實(shí)現(xiàn)的WLSOO
模式 335
11.5.1 使用工作空間 335
11.5.2 添加數(shù)據(jù)持久層工程 336
11.5.3 建立業(yè)務(wù)邏輯層與數(shù)據(jù)持久層依賴
關(guān)系 337
11.5.4 建立表示層與業(yè)務(wù)邏輯層依賴
關(guān)系 339
11.6 基于同一工作空間框架實(shí)現(xiàn)的WFSSS
模式 339
11.6.1 創(chuàng)建框架工程 340
11.6.2 建立依賴關(guān)系 341
11.6.3 代碼重構(gòu) 342
11.7 基于同一工作空間框架實(shí)現(xiàn)的WFOOO
模式 344
11.7.1 設(shè)置Public頭文件 344
11.7.2 設(shè)置保護(hù)傘頭文件 345
11.7.3 代碼重構(gòu) 345
11.8 基于同一工作空間框架實(shí)現(xiàn)的WFSOO
模式 346
11.8.1 設(shè)置Public頭文件 346
11.8.2 設(shè)置保護(hù)傘頭文件 346
11.8.3 建立表示層與業(yè)務(wù)邏輯層依賴
關(guān)系 346
11.8.4 代碼重構(gòu) 346
11.9 基于同一工作空間框架實(shí)現(xiàn)的WFOSS
模式 346
11.9.1 設(shè)置Public頭文件 346
11.9.2 設(shè)置Swift代碼嵌入應(yīng)用 347
11.9.3 代碼重構(gòu) 347
11.10 基于同一個(gè)工程不同目標(biāo)框架實(shí)現(xiàn)的
TFSOO模式 348
11.10.1 使用目標(biāo) 348
11.10.2 添加框架目標(biāo) 348
11.11 小結(jié) 349
第12章 數(shù)據(jù)持久化 350
12.1 概述 350
12.1.1 沙箱目錄 350
12.1.2 持久化方式 351
12.2 屬性列表 351
12.3 對(duì)象歸檔 357
12.4 使用SQLite數(shù)據(jù)庫(kù) 361
12.4.1 SQLite數(shù)據(jù)類型 361
12.4.2 配置Objective-C框架工程環(huán)境 362
12.4.3 配置Swift框架工程環(huán)境 362
12.4.4 創(chuàng)建數(shù)據(jù)庫(kù) 364
12.4.5 查詢數(shù)據(jù) 365
12.4.6 修改數(shù)據(jù) 368
12.5 Core Data 370
12.5.1 ORM 370
12.5.2 Core Data棧 371
12.5.3 建模和生成實(shí)體 374
12.5.4 采用Core Data分層架構(gòu)設(shè)計(jì) 380
12.5.5 查詢數(shù)據(jù) 382
12.5.6 修改數(shù)據(jù) 384
12.6 小結(jié) 385
第三部分 進(jìn) 階 篇
第13章 應(yīng)用程序設(shè)置 388
13.1 概述 388
13.1.1 設(shè)置 388
13.1.2 配置 389
13.2 應(yīng)用程序設(shè)置包 390
13.3 設(shè)置項(xiàng)目種類 392
13.3.1 文本字段 395
13.3.2 開(kāi)關(guān) 398
13.3.3 滑塊 399
13.3.4 值列表 400
13.3.5 子界面 401
13.4 讀取設(shè)置 403
13.5 小結(jié) 405
第14章 本地化 406
14.1 概述 406
14.1.1 需要本地化的內(nèi)容 406
14.1.2 本地化目錄結(jié)構(gòu) 409
14.2 文本信息本地化 410
14.2.1 系統(tǒng)按鈕和信息本地化 410
14.2.2 應(yīng)用名稱本地化 411
14.2.3 程序代碼輸出的靜態(tài)文本本地化 413
14.2.4 使用genstring工具 414
14.3 故事板和XIB文件本地化 415
14.3.1 使用Base Internationalization技術(shù) 415
14.3.2 Auto Layout與本地化 417
14.4 資源文件本地化 419
14.4.1 圖片資源文件本地化 419
14.4.2 聲音資源文件本地化 420
14.5 小結(jié) 421
第15章 iOS 9中訪問(wèn)通訊錄 422
15.1 通訊錄的安全訪問(wèn)設(shè)置 422
15.2 使用Contacts框架讀取聯(lián)系人信息 423
15.2.1 查詢聯(lián)系人 423
15.2.2 讀取單值屬性 426
15.2.3 讀取多值屬性 428
15.2.4 讀取圖片屬性 430
15.3 使用Contacts框架寫(xiě)入聯(lián)系人信息 430
15.3.1 創(chuàng)建聯(lián)系人 431
15.3.2 修改聯(lián)系人 433
15.3.3 刪除聯(lián)系人 434
15.4 使用系統(tǒng)提供界面 435
15.4.1 選擇聯(lián)系人 435
15.4.2 顯示和修改聯(lián)系人 438
15.4.3 創(chuàng)建聯(lián)系人 441
15.5 小結(jié) 444
第16章 數(shù)據(jù)交換格式 445
16.1 XML數(shù)據(jù)交換格式 446
16.1.1 XML文檔結(jié)構(gòu) 446
16.1.2 解析XML文檔 447
16.2 實(shí)例:MyNotes應(yīng)用XML 448
16.2.1 使用NSXML解析 450
16.2.2 使用TBXML解析 453
16.3 JSON數(shù)據(jù)交換格式 459
16.3.1 JSON文檔結(jié)構(gòu) 459
16.3.2 JSON數(shù)據(jù)編碼/解碼 460
16.4 實(shí)例:MyNotes應(yīng)用JSON解碼 461
16.5 小結(jié) 462
第17章 REST Web Service 463
17.1 概述 463
17.2 使用NSURLSession 464
17.2.1 NSURLSession API 464
17.2.2 簡(jiǎn)單會(huì)話實(shí)現(xiàn)GET請(qǐng)求 465
17.2.3 默認(rèn)會(huì)話實(shí)現(xiàn)GET請(qǐng)求 468
17.2.4 實(shí)現(xiàn)POST請(qǐng)求 469
17.2.5 下載數(shù)據(jù) 470
17.3 實(shí)例:使用NSURLSession重構(gòu)MyNotes
案例 473
17.3.1 插入方法調(diào)用 473
17.3.2 修改方法調(diào)用 474
17.3.3 刪除方法調(diào)用 475
17.4 使用AFNetworking框架 477
17.4.1 比較ASIHTTPRequest、
AFNetworking和MKNetworkKit 477
17.4.2 安裝和配置AFNetworking框架 478
17.4.3 實(shí)現(xiàn)GET請(qǐng)求 479
17.4.4 實(shí)現(xiàn)POST請(qǐng)求 480
17.4.5 下載數(shù)據(jù) 481
17.4.6 上傳數(shù)據(jù) 482
17.5 使用為Swift設(shè)計(jì)的網(wǎng)絡(luò)框架:
Alamofire 484
17.5.1 安裝和配置Alamofire框架 484
17.5.2 實(shí)現(xiàn)GET請(qǐng)求 485
17.5.3 實(shí)現(xiàn)POST請(qǐng)求 486
17.5.4 下載數(shù)據(jù) 487
17.5.5 上傳數(shù)據(jù) 488
17.6 反饋網(wǎng)絡(luò)信息改善用戶體驗(yàn) 489
17.6.1 使用下拉刷新控件改善用戶體驗(yàn) 489
17.6.2 使用活動(dòng)指示器控件 492
17.6.3 使用網(wǎng)絡(luò)活動(dòng)指示器 494
17.7 小結(jié) 494
第18章 定位服務(wù) 495
18.1 定位服務(wù)概述 495
18.1.1 定位服務(wù)編程 496
18.1.2 測(cè)試定位服務(wù) 499
18.2 管理定位服務(wù) 503
18.2.1 應(yīng)用啟動(dòng)與停止下的定位服務(wù)
管理 504
18.2.2 視圖切換下的定位服務(wù)管理 504
18.2.3 應(yīng)用前后臺(tái)切換下的定位服務(wù)
管理 505
18.2.4 設(shè)置自動(dòng)暫停位置服務(wù) 507
18.2.5 iOS 9后臺(tái)位置服務(wù)管理 507
18.3 地理信息編碼與反編碼 508
18.3.1 地理信息反編碼 508
18.3.2 實(shí)例:地理信息反編碼 509
18.3.3 地理信息編碼查詢 510
18.3.4 實(shí)例:地理信息編碼查詢 510
18.4 微定位技術(shù)iBeacon 512
18.4.1 微定位與地理圍欄 512
18.4.2 iBeacon技術(shù)概述 512
18.4.3 實(shí)例:使用iBeacon技術(shù)實(shí)現(xiàn)微
定位 513
18.5 小結(jié) 519
第19章 蘋(píng)果地圖應(yīng)用 520
19.1 使用iOS蘋(píng)果地圖 520
19.1.1 顯示地圖 520
19.1.2 顯示3D地圖 524
19.2 添加標(biāo)注 525
19.2.1 實(shí)現(xiàn)查詢 526
19.2.2 在地圖上添加標(biāo)注 528
19.3 跟蹤用戶位置變化 529
19.4 使用程序外地圖 530
19.5 小結(jié) 533
第四部分 測(cè)試、調(diào)試和優(yōu)化篇
第20章 找出程序中的bug——調(diào)試 536
20.1 Xcode調(diào)試工具 536
20.1.1 定位編譯錯(cuò)誤 536
20.1.2 查看和顯示日志 537
20.1.3 設(shè)置和查看斷點(diǎn) 539
20.1.4 調(diào)試工具 544
20.1.5 輸出窗口 545
20.1.6 變量查看窗口 546
20.1.7 查看線程 547
20.2 LLDB調(diào)試工具 548
20.2.1 斷點(diǎn)命令 548
20.2.2 觀察點(diǎn)命令 550
20.2.3 查看變量和計(jì)算表達(dá)式命令 552
20.3 日志與斷言輸出 554
20.3.1 使用NSLog函數(shù) 554
20.3.2 使用斷言 555
20.4 異常棧報(bào)告分析 556
20.4.1 跟蹤異常棧 556
20.4.2 分析棧報(bào)告 558
20.5 在iOS設(shè)備上調(diào)試 559
20.5.1 Xcode設(shè)置 559
20.5.2 設(shè)備設(shè)置 560
20.6 Xcode設(shè)備管理工具 562
20.6.1 查看設(shè)備上的應(yīng)用程序 562
20.6.2 設(shè)備日志 564
20.7 小結(jié) 564
第21章 iOS測(cè)試驅(qū)動(dòng)與單元測(cè)試 565
21.1 測(cè)試驅(qū)動(dòng)的軟件開(kāi)發(fā)概述 565
21.1.1 測(cè)試驅(qū)動(dòng)的軟件開(kāi)發(fā)流程 565
21.1.2 測(cè)試驅(qū)動(dòng)的軟件開(kāi)發(fā)案例 566
21.1.3 iOS單元測(cè)試框架 567
21.2 使用XCTest測(cè)試框架 568
21.2.1 添加X(jué)CTest到工程 568
21.2.2 Swift版本中設(shè)置編譯目標(biāo)成員 570
21.2.3 編寫(xiě)XCTest測(cè)試方法 570
21.2.4 運(yùn)行測(cè)試用例目標(biāo) 573
21.2.5 分析測(cè)試報(bào)告 575
21.3 異步單元測(cè)試 576
21.4 性能測(cè)試 580
21.4.1 Swift版本中配置測(cè)試環(huán)境 580
21.4.2 測(cè)試用例代碼 580
21.4.3 分析測(cè)試結(jié)果 581
21.5 iOS單元測(cè)試最佳實(shí)踐 583
21.5.1 配置測(cè)試數(shù)據(jù)持久層 583
21.5.2 編寫(xiě)數(shù)據(jù)持久層測(cè)試用例 584
21.5.3 運(yùn)行測(cè)試數(shù)據(jù)持久層測(cè)試用例 587
21.5.4 配置測(cè)試業(yè)務(wù)邏輯層 588
21.5.5 編寫(xiě)業(yè)務(wù)邏輯層測(cè)試用例 588
21.6 小結(jié) 589
第22章 iOS應(yīng)用UI測(cè)試 590
22.1 UI測(cè)試概述 590
22.2 添加UI測(cè)試到工程 590
22.2.1 創(chuàng)建工程時(shí)添加UI測(cè)試框架 590
22.2.2 在現(xiàn)有工程中添加UI測(cè)試用例
目標(biāo) 591
22.3 錄制腳本 593
22.3.1 錄制之前的準(zhǔn)備 593
22.3.2 錄制過(guò)程 593
22.3.3 修改錄制腳本 595
22.4 訪問(wèn)UI元素 595
22.4.1 UI元素層次結(jié)構(gòu)樹(shù) 595
22.4.2 UI測(cè)試中相關(guān)API 597
22.5 表示層測(cè)試最佳實(shí)踐 598
22.5.1 配置UI測(cè)試用例目標(biāo) 598
22.5.2 編寫(xiě)UI測(cè)試用例 599
22.6 小結(jié) 602
第23章 讓你的程序“飛”起來(lái)——性能
優(yōu)化 603
23.1 內(nèi)存優(yōu)化 603
23.1.1 內(nèi)存管理 603
23.1.2 使用Analyze工具檢查內(nèi)存泄漏 603
23.1.3 使用Instruments工具檢查內(nèi)存
泄漏 608
23.1.4 使用Instruments工具檢查僵尸
對(duì)象 612
23.1.5 autorelease的使用問(wèn)題 615
23.1.6 響應(yīng)內(nèi)存警告 616
23.2 優(yōu)化資源文件 617
23.2.1 圖片文件優(yōu)化 618
23.2.2 音頻文件優(yōu)化 619
23.3 延遲加載 620
23.3.1 資源文件的延遲加載 620
23.3.2 故事板文件的延遲加載 624
23.3.3 XIB文件的延遲加載 626
23.4 數(shù)據(jù)持久化的優(yōu)化 628
23.4.1 使用文件 628
23.4.2 使用SQLite數(shù)據(jù)庫(kù) 631
23.4.3 使用Core Data 632
23.5 可重用對(duì)象的使用 634
23.5.1 表視圖中的可重用對(duì)象 635
23.5.2 集合視圖中的可重用對(duì)象 636
23.5.3 地圖視圖中的可重用對(duì)象 638
23.6 并發(fā)處理與多核CPU 638
23.6.1 主線程阻塞問(wèn)題 638
23.6.2 選擇NSThread還是GCD 639
23.7 小結(jié) 640
第五部分 實(shí) 戰(zhàn) 篇
第24章 管理好你的程序代碼——代碼版本
控制 642
24.1 概述 642
24.1.1 版本控制歷史 642
24.1.2 基本概念 643
24.2 Git代碼版本控制 643
24.2.1 服務(wù)器搭建 643
24.2.2 Gitolite服務(wù)器管理 645
24.2.3 Git常用命令 647
24.2.4 Git分支 649
24.2.5 Git協(xié)同開(kāi)發(fā) 653
24.2.6 Xcode中Git的配置與使用 656
24.3 GitHub代碼托管服務(wù) 663
24.3.1 創(chuàng)建和配置GitHub賬號(hào) 663
24.3.2 創(chuàng)建代碼庫(kù) 666
24.3.3 刪除代碼庫(kù) 668
24.3.4 派生代碼庫(kù) 669
24.3.5 使用GitHub協(xié)同開(kāi)發(fā) 671
24.3.6 管理組織 677
24.4 小結(jié) 680
第25章 項(xiàng)目依賴管理 681
25.1 使用CocoaPods工具管理依賴 681
25.1.1 安裝CocoaPods 681
25.1.2 搜索庫(kù) 682
25.1.3 項(xiàng)目與第三方庫(kù)搭配形式 683
25.1.4 示例:靜態(tài)鏈接庫(kù)形式管理依賴 684
25.1.5 示例:框架形式管理依賴 686
25.2 使用Carthage工具管理依賴 687
25.2.1 安裝Carthage 688
25.2.2 項(xiàng)目與第三方庫(kù)搭配形式 688
25.2.3 Cartfile文件 688
25.2.4 示例:重構(gòu)MyNotes依賴關(guān)系 689
25.3 小結(jié) 691
第26章 重構(gòu)MyNotes應(yīng)用——iOS網(wǎng)絡(luò)
通信中的設(shè)計(jì)模式與架構(gòu)設(shè)計(jì) 692
26.1 移動(dòng)網(wǎng)絡(luò)通信應(yīng)用的分層架構(gòu)設(shè)計(jì) 692
26.2 Objective-C版本:在數(shù)據(jù)持久層中添加和
配置AFNetworking 693
26.2.1 用CocoaPods工具管理依賴 693
26.2.2 測(cè)試依賴 693
26.3 Swift版本:在數(shù)據(jù)持久層中添加和配置
Alamofire 694
26.3.1 用Carthage工具管理依賴 694
26.3.2 測(cè)試依賴 695
26.4 基于委托模式實(shí)現(xiàn) 695
26.4.1 網(wǎng)絡(luò)通信與委托模式 696
26.4.2 在異步網(wǎng)絡(luò)通信中使用委托模式
實(shí)現(xiàn)分層架構(gòu)設(shè)計(jì) 696
26.4.3 類圖 697
26.4.4 時(shí)序圖 699
26.4.5 數(shù)據(jù)持久層重構(gòu)(Objective-C
版本) 702
26.4.6 數(shù)據(jù)持久層重構(gòu)(Swift版本) 705
26.4.7 業(yè)務(wù)邏輯層的代碼實(shí)現(xiàn) 707
26.4.8 表示層的代碼實(shí)現(xiàn) 710
26.5 基于觀察者模式的通知機(jī)制實(shí)現(xiàn) 716
26.5.1 觀察者模式的通知機(jī)制回顧 716
26.5.2 異步網(wǎng)絡(luò)通信中通知機(jī)制的分層架
構(gòu)設(shè)計(jì) 716
26.5.3 類圖 717
26.5.4 時(shí)序圖 719
26.5.5 數(shù)據(jù)持久層重構(gòu)(Objective-C
版本) 722
26.5.6 數(shù)據(jù)持久層重構(gòu)(Swift版本) 723
26.5.7 業(yè)務(wù)邏輯層的代碼實(shí)現(xiàn) 725
26.5.8 表示層的代碼實(shí)現(xiàn) 726
26.6 小結(jié) 731
第27章 把你的應(yīng)用放到App Store上 732
27.1 收官 732
27.1.1 在Xcode 中添加圖標(biāo) 732
27.1.2 在Xcode中添加啟動(dòng)界面 734
27.1.3 調(diào)整Identity和Deployment Info
屬性 738
27.2 為發(fā)布進(jìn)行編譯 739
27.2.1 創(chuàng)建開(kāi)發(fā)者證書(shū) 739
27.2.2 創(chuàng)建App ID 744
27.2.3 創(chuàng)建描述文件 745
27.2.4 發(fā)布編譯 748
27.3 發(fā)布上架 750
27.3.1 創(chuàng)建應(yīng)用 750
27.3.2 應(yīng)用定價(jià) 753
27.3.3 基本信息輸入 754
27.3.4 上傳應(yīng)用 757
27.3.5 提交審核 759
27.4 常見(jiàn)審核不通過(guò)的原因 761
27.4.1 功能問(wèn)題 761
27.4.2 用戶界面問(wèn)題 761
27.4.3 商業(yè)問(wèn)題 761
27.4.4 不當(dāng)內(nèi)容 761
27.4.5 其他問(wèn)題 762
27.5 小結(jié) 762
第28章 iOS敏捷開(kāi)發(fā)項(xiàng)目實(shí)戰(zhàn)——2016里
約熱內(nèi)盧奧運(yùn)會(huì)應(yīng)用開(kāi)發(fā)及App Store發(fā)布 763
28.1 應(yīng)用分析與設(shè)計(jì) 763
28.1.1 應(yīng)用概述 763
28.1.2 需求分析 763
28.1.3 原型設(shè)計(jì) 764
28.1.4 數(shù)據(jù)庫(kù)設(shè)計(jì) 765
28.1.5 架構(gòu)設(shè)計(jì) 766
28.2 iOS敏捷開(kāi)發(fā) 766
28.2.1 敏捷開(kāi)發(fā)宣言 766
28.2.2 iOS適合敏捷開(kāi)發(fā)? 767
28.2.3 iOS敏捷開(kāi)發(fā)最佳實(shí)踐 767
28.3 任務(wù)1:創(chuàng)建應(yīng)用工作空間和工程 769
28.3.1 迭代1.1:創(chuàng)建工作空間 769
28.3.2 迭代1.2:發(fā)布到GitHub 769
28.4 任務(wù)2:信息系統(tǒng)層與持久層開(kāi)發(fā) 770
28.4.1 迭代2.1:編寫(xiě)數(shù)據(jù)庫(kù)DDL腳本 770
28.4.2 迭代2.2:插入初始數(shù)據(jù)到數(shù)據(jù)庫(kù) 770
28.4.3 迭代2.3:數(shù)據(jù)庫(kù)版本控制 771
28.4.4 迭代2.4:配置持久層工程PersistenceLayer 771
28.4.5 迭代2.5:編寫(xiě)實(shí)體類 772
28.4.6 迭代2.6:編寫(xiě)DAO類單元測(cè)試用例類 773
28.4.7 迭代2.7:編寫(xiě)DAO類 775
28.4.8 迭代2.8:數(shù)據(jù)庫(kù)幫助類DBHelper 779
28.4.9 迭代2.9:配置及運(yùn)行持久層測(cè)試用例目標(biāo) 781
28.4.10 迭代2.10:發(fā)布到GitHub 782
28.5 任務(wù)3:業(yè)務(wù)邏輯層開(kāi)發(fā) 782
28.5.1 迭代3.1:比賽項(xiàng)目業(yè)務(wù)邏輯類
XCTest單元測(cè)試 783
28.5.2 迭代3.2:編寫(xiě)比賽項(xiàng)目業(yè)務(wù)
邏輯類 784
28.5.3 迭代3.3:比賽日程業(yè)務(wù)邏輯類
XCTest單元測(cè)試 785
28.5.4 迭代3.4:編寫(xiě)比賽日程業(yè)務(wù)
邏輯類 786
28.5.5 迭代3.5:發(fā)布到GitHub 787
28.6 任務(wù)4:表示層開(kāi)發(fā) 788
28.6.1 迭代4.1:使用資源目錄管理圖片和圖標(biāo)資源 788
28.6.2 迭代4.2:根據(jù)原型設(shè)計(jì)初步設(shè)計(jì)
故事板 789
28.6.3 迭代4.3:“首頁(yè)”模塊 790
28.6.4 迭代4.4:“比賽項(xiàng)目”模塊 791
28.6.5 迭代4.5:“比賽日程”模塊 795
28.6.6 迭代4.6:“倒計(jì)時(shí)”模塊
表示層 797
28.6.7 迭代4.7:“關(guān)于我們”模塊
表示層 800
28.6.8 迭代4.8:發(fā)布到GitHub 800
28.7 任務(wù)5:收工 800
28.7.1 迭代5.1:添加圖標(biāo) 800
28.7.2 迭代5.2:設(shè)計(jì)和添加啟動(dòng)界面 801
28.7.3 迭代5.3:性能測(cè)試與改善 801
28.7.4 迭代5.4:發(fā)布到GitHub上 802
28.7.5 迭代5.5:在App Store上發(fā)布
應(yīng)用 802
28.8 小結(jié) 802

本目錄推薦

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