內容簡介
《iOS開發指南 從零基礎到App Store上架(第3版)》以Swift和Objective-C語言為基礎進行講解,共分4篇:開篇為基礎篇,主要講解iOS的一些基礎知識;第 二篇為網路篇,主要講解iOS網路開發的相關知識;第三篇為進階篇,介紹了iOS高 級內容、商業思考等;結尾一篇是實戰篇,通過兩個真實的項目,帶領讀者身臨其境地完成一個項目的開發,使讀者了解整個開發過程以及開發中的技巧。
圖書目錄
第 1章 開篇綜述 5
1.1 iOS概述 5
1.1.1 iOS介紹 5
1.1.2 iOS 8的新特性 5
1.2 開發環境及開發工具 6
1.3 本書中的約定 8
1.3.1 案例代碼約定 8
1.3.2 圖示的約定 9
1.3.2 方法命名約定 11
第 2章 第 一個iOS應用程式 12
2.1 創建HelloWorld工程 12
2.1.1 創建工程 13
2.1.2 Xcode中的iOS工程模板 18
2.1.3 套用剖析 20
2.2 HelloWorld工程中的故事板檔案 22
2.2.1 故事板的導航特點 22
2.2.2 故事板中的Scene和Segue 24
2.3 套用生命周期 24
2.3.1 非運行狀態——套用啟動場景 27
2.3.2 點擊Home鍵——套用退出場景 27
2.3.3 掛起重新運行場景 30
2.3.4 記憶體清除——套用終止場景 31
2.4 視圖生命周期 31
2.5 設定產品屬性 33
2.5.1 Xcode中的Project和Target 33
2.5.2 設定常用的產品屬性 37
2.6 iOS API簡介 38
2.6.1 API概述 38
2.6.2 如何使用API幫助 41
2.7 小結 44
第3章 UIView與視圖 44
3.1 視圖“始祖”——UIView 44
3.1.1 UIView“家族” 44
3.1.2 套用界面的構建層次 47
3.1.3 視圖分類 49
3.2 標籤與按鈕 50
3.2.1 標籤控制項 50
3.2.2 按鈕控制項 52
3.3 動作與輸出口 55
3.4 TextField和TextView 59
3.4.1 TextField控制項 60
3.4.2 TextView控制項 60
3.4.3 鍵盤的打開和關閉 62
3.4.4 關閉和打開鍵盤的通知 63
3.4.5 鍵盤的種類 64
3.5 開關控制項、滑塊控制項和分段控制項 65
3.5.1 開關控制項 66
3.5.2 滑塊控制項 66
3.5.3 分段控制項 67
3.6 網頁視圖WebView 67
3.7 等待相關的控制項與進度條 72
3.7.1 活動指示器ActivityIndicatorView 73
3.7.2 進度條ProgressView 73
3.8 警告框和操作表 75
3.8.1 警告框 75
3.8.2 操作表ActionSheet 77
3.8.3 使用iOS 8 UIAlertController實現 79
3.9 工具列和導航欄 80
3.9.1 工具列 81
3.9.2 導航欄 84
3.10 小結 88
第4章 iOS 8多解析度螢幕適配 88
4.1 iOS 8螢幕的多樣性 88
4.1.1 iOS 8螢幕介紹 88
4.1.2 iOS 8的三種解析度 90
4.1.3 獲得iOS設備螢幕信息 90
4.2 iOS螢幕布局 92
4.2.1 iOS中的“欄” 92
4.2.2 傳統布局 93
4.3 Auto Layout布局 96
4.3.1 Interface Builder中管理Auto Layout約束 96
4.3.2 實例:Auto Layout布局 97
4.4 Size Class與iOS 8多螢幕適配 103
4.4.1 Interface Builder中使用Size Class 104
4.4.2 Size Class的九宮格 105
4.4.3 實例:使用Size Class 106
4.5 螢幕滾動視圖中使用Auto Layout和Size Class 113
4.5.1 螢幕滾動視圖重要的屬性 113
4.5.2 螢幕滾動視圖實例 116
4.6 使用資源(Asset catalog)管理圖片 121
4.7 小結 125
第5章 委託協定、數據源協定與高 級視圖 125
5.1 視圖中委託協定和數據源協定 125
5.2 選擇器 126
5.2.1 日期選擇器 126
5.2.2 普通選擇器 128
5.2.3 數據源協定與委託協定 132
5.3 集合視圖 134
5.3.1 集合視圖介紹 134
5.3.2 實例:奧運會比賽項目 135
5.3.3 添加集合視圖控制 137
5.3.4 添加集合視圖單元格 140
5.3.5 數據源協定與委託協定 144
5.4 小結 145
第6章 表視圖 145
6.1 概述 146
6.1.1 表視圖的組成 146
6.1.2 表視圖的相關類 147
6.1.3 表視圖分類 148
6.1.4 單元格的組成和樣式 151
6.1.5 數據源協定與委託協定 155
6.2 簡單表視圖 155
6.2.1 創建簡單表視圖 155
6.2.2 自定義單元格 162
6.2.3 添加搜尋欄 166
6.3 分節表視圖 173
6.3.1 添加索引 174
6.3.2 分組 177
6.3.3 靜態表與控制界面布局 178
6.4 修改單元格 184
6.4.1 刪除和插入單元格 184
6.4.2 移動單元格 192
6.5 表視圖UI設計模式 196
6.5.1 分頁模式 196
6.5.2 下拉刷新模式 197
6.5.3 下拉刷新控制項 197
6.6 小結 201
第7章 視圖控制器與導航模式 201
7.1 概述 201
7.1.1 視圖控制器的種類 201
7.1.2 導航模式 202
7.1.3 模態視圖 203
7.2 平鋪導航 211
7.2.1 套用場景 211
7.2.2 基於分屏導航的實現 213
7.2.3 基於電子書導航的實現 220
7.3 標籤導航 226
7.3.1 套用場景 227
7.3.2 實現 228
7.4 樹形結構導航 232
7.4.1 套用場景 232
7.4.2 實現 233
7.5 組合使用導航模式 242
7.5.1 套用場景 242
7.5.2 實現 243
7.6 小結 250
第8章 iOS常用設計模式 251
8.1 單例模式 251
8.1.1 問題提出 251
8.1.2 Objective-C實現原理 251
8.1.3 Swift實現原理 252
8.1.4 套用案例 253
8.2 委託模式 255
8.2.1 問題提出 255
8.2.2 實現原理 257
8.2.3 套用案例 260
8.3 觀察者模式 264
8.3.1 問題提出 264
8.3.2 實現原理 265
8.3.3 通知機制和KVO機制 266
8.4 MVC模式 274
8.4.1 MVC模式概述 274
8.4.2 Cocoa Touch中的MVC模式 275
8.5 小結 278
第9章 iPhone與iPad套用開發的差異 278
9.1 概述 278
9.1.1 套用場景差異 278
9.1.2 設計和開發需注意的問題 278
9.2 iPad專用API 281
9.2.1 UIPopoverController控制器 281
9.2.2 UISplitViewController控制器 287
9.3 小結 293
第 10章 iOS分層架構設計 294
10.1 低耦合企業級系統架構設計 294
10.2 iOS分層架構設計 295
10.2.1 工程與工作空間 295
10.2.2 靜態程式庫 296
10.2.3 框架 296
10.2.4 10種分層模式 297
10.3 實例:MyNotes套用 298
10.4 基於同一工程的分層 300
10.4.1 採用純Swift語言實現——PSSS模式 300
10.4.2 採用純Objective-C語言實現——POOO模式 303
10.4.3 採用Swift調用Objective-C混合搭配實現——PSOO模式 306
10.5 基於同一工作空間靜態程式庫實現的WLSOO模式 308
10.5.1 使用工作空間 308
10.5.2 添加數據持久層工程 308
10.5.3 業務邏輯層與數據持久層依賴關係建立 310
10.5.4 表示層與業務邏輯層依賴關係建立 312
10.6 基於同一工作空間框架實現的WFSSS模式 312
10.6.1 創建框架工程 312
10.6.2 依賴關係建立 313
10.6.3 代碼重構 315
10.7 基於同一工作空間框架實現的WFOOO模式 316
10.7.1 設定Public頭檔案 316
10.7.2 表示層與業務邏輯層依賴關係建立 317
10.7.3 代碼重構 317
10.8 基於同一工作空間框架實現的WFSOO模式 317
10.8.1 設定Public頭檔案 318
10.8.2 表示層與業務邏輯層依賴關係建立 318
10.8.3 代碼重構 318
10.9 基於同一工作空間框架實現的WFOSS模式 319
10.9.1 設定Public頭檔案 319
10.9.2 代碼重構 319
10.10 小結 320
第 11章 數據持久化 320
11.1 概述 320
11.1.1 沙箱 320
11.1.2 持久化方式 321