-
>
全國計算機等級考試最新真考題庫模擬考場及詳解·二級MSOffice高級應用
-
>
決戰行測5000題(言語理解與表達)
-
>
軟件性能測試.分析與調優實踐之路
-
>
第一行代碼Android
-
>
JAVA持續交付
-
>
EXCEL最強教科書(完全版)(全彩印刷)
-
>
深度學習
iOS企業級應用開發技術 版權信息
- ISBN:9787121328282
- 條形碼:9787121328282 ; 978-7-121-32828-2
- 裝幀:暫無
- 冊數:暫無
- 重量:暫無
- 所屬分類:>>
iOS企業級應用開發技術 本書特色
本書聚焦在APP“產品”的設計、開發和運營層面,特別強調架構和設計模式的重要性,有意識地將設計模式應用到代碼的編寫中,重點介紹iOS企業級應用開發的設計思維方式,并與全棧開發技術結合起來。 全書分為iOS基礎篇、Web與Native混合開發模式篇和全棧開發技術篇。iOS基礎篇主要介紹iOS基礎知識、多種設計模式下的視圖控制器之間的傳值、App與服務器接口的定義、CollectionView的應用;Web與Native混合開發模式篇主要介紹Block的應用、iOS網絡請求、JavaScript基礎、Web與Native的交互;全棧開發技術篇主要介紹Node.js、Express、AngularJS、MongoDB、MEAN全棧技術的實現。
iOS企業級應用開發技術 內容簡介
本書聚焦在APP“產品”的設計、開發和運營層面,特別強調架構和設計模式的重要性,有意識地將設計模式應用到代碼的編寫中,重點介紹iOS企業級應用開發的設計思維方式,并與全棧開發技術結合起來。 全書分為iOS基礎篇、Web與Native混合開發模式篇和全棧開發技術篇。iOS基礎篇主要介紹iOS基礎知識、多種設計模式下的視圖控制器之間的傳值、App與服務器接口的定義、CollectionView的應用;Web與Native混合開發模式篇主要介紹Block的應用、iOS網絡請求、JavaScript基礎、Web與Native的交互;全棧開發技術篇主要介紹Node.js、Express、AngularJS、MongoDB、MEAN全棧技術的實現。
iOS企業級應用開發技術 目錄
iOS基礎篇
第1章 iOS基礎知識 2
1.1 Objective-C語法簡介 2
1.1.1 Objective-C的奇特之處 2
1.1.2 如何聲明一個實例變量 4
1.1.3 Objective-C字符串 5
1.2 Objective-C的對象類型與基本數據類型 6
1.2.1 對象類型與基本數據類型的混合使用 6
1.2.2 對象類型與基本數據類型的轉換 7
1.3 不可變數組與可變數組 7
1.3.1 不可變數組(NSArray)的特征 8
1.3.2 可變數組(NSMutableArray)的特征 8
1.3.3 如何遍歷數組中的對象 8
1.3.4 NSArray與NSMutableArray的應用 10
1.4 不可變字典與可變字典 11
1.4.1 不可變字典(NSDictionary) 11
1.4.2 可變字典(NSMutableDictionary) 12
1.4.3 如何遍歷字典中的對象 12
1.4.4 NSArray與NSDictionary的應用 13
1.4.5 創建類的對象 13
1.5 iOS應用程序概述 14
1.5.1 應用程序的入口 14
1.5.2 應用程序委托(AppDelegate) 14
1.5.3 UIApplication應用場景 15
1.5.4 一種簡單的永久數據存儲方式 16
1.6 iOS定制化控件 17
1.6.1 定制化View的創建 17
1.6.2 小標簽(UILabel),大用場 19
1.6.3 如何實現輸入框隨鍵盤上移 20
1.7 視圖的層級管理 23
1.7.1 創建視圖的方法 23
1.7.2 如何從父視圖中移除子視圖 25
1.7.3 登錄頁面的實現 26
1.8 iOS編程規范 28
1.8.1 代碼的可維護性 29
1.8.2 面向對象的編程思想 29
1.8.3 優先編寫輕量級的ViewController 30
1.9 小結 31
第2章 視圖控制器之間的傳值 32
2.1 通過Delegate實現ViewController之間的傳值 32
2.1.1 Delegate概述 32
2.1.2 學習Delegate的困惑 32
2.1.3 從一道經典的面試題說起 33
2.1.4 學習Delegate常出現的幾個誤區 33
2.1.5 Delegate技術難點在哪里 34
2.1.6 數據逆向傳送一定要通過Delegate嗎 34
2.1.7 Delegate應用五步曲 35
2.1.8 Delegate優勢 38
2.2 通過單例實現ViewController之間的傳值 38
2.2.1 單例的創建 39
2.2.2 單例的初始化 40
2.2.3 單例設計模式的本質 41
2.2.4 通過單例實現傳值 41
2.2.5 單例模式在登錄模塊中的應用 42
2.2.6 單例模式的優勢 44
2.3 通過KVO實現ViewController之間的傳值 44
2.3.1 什么是KVC 44
2.3.2 什么是KVO 45
2.3.3 KVO的特點 46
2.3.4 使用KVO的步驟 46
2.3.5 KVO的實現方法 46
2.3.6 KVO應用注意事項 50
2.4 通過NSNotification實現ViewController之間的傳值 50
2.4.1 NSNotification的定義 51
2.4.2 NSNotificationCenter 51
2.4.3 發出通知 51
2.4.4 接收通知 52
2.4.5 移除通知 52
2.4.6 異步模式下的通知操作 53
2.4.7 通過NSNotification實現ViewController之間的傳值 53
2.4.8 NSNotification與Delegate的區別 55
2.4.9 監聽系統自帶的NSNotification 56
2.5 小結 58
第3章 App與服務器接口的定義 59
3.1 關于JSON的認識 59
3.2 App與服務器接口的定義 61
3.2.1 App與后臺的接口設計 61
3.2.2 后臺返回的數據格式 61
3.2.3 后臺返回的提示信息 62
3.3 JSON與Model的轉換 62
3.3.1 JSONModel常見的用法 63
3.3.2 JSONModel的幾個屬性用法 67
3.4 小結 69
第4章 CollectionView的應用 70
4.1 CollectionView與TableView孰優孰劣 70
4.1.1 TableView的應用場景 70
4.1.2 CollectionView的應用場景 71
4.1.3 CollectionView與TableView概念對比 71
4.1.4 CollectionView與TableView的性能對比 71
4.2 什么是UICollectionView 71
4.3 實現一個簡單的UICollectionView 72
4.4 UICollectionViewCell視圖層級 73
4.5 UICollectionViewDataSource 74
4.6 關于Cell的重用 74
4.7 UICollectionViewDelegate 75
4.8 UICollectionViewLayout 76
4.9 實現一個簡單的瀑布流 77
4.9.1 通過手動編碼創建UICollectionView 78
4.9.2 直接拖曳一個CollectionViewController 81
4.9.3 基于Xib創建一個UICollectionViewCell 86
4.10 自定義瀑布流的應用場景 88
4.11 自定義Flow Layout進行瀑布流布局 88
4.11.1 自定義瀑布流的應用場景 89
4.11.2 自定義瀑布流的實現思路 90
4.11.3 創建自定義的Flow Layout 90
4.11.4 創建自定義的CollectionViewCell 92
4.11.5 關于initWithFrame:方法的使用 93
4.11.6 自定義瀑布流的完整實現 94
4.11.7 UICollectionView相關的類圖 96
4.11.8 如何實現UICollectionView的輪播 97
4.12 CollectionView與TableView的區別 98
4.13 圖片輪播的實現思路 98
4.14 CollectionView注意事項 99
4.15 小結 100
Web與Native混合開發模式
第5章 Block的應用 102
5.1 Block緣起 102
5.2 Block概述 103
5.3 Block的聲明、實現與調用 104
5.3.1 Block的聲明 104
5.3.2 Block的實現 106
5.3.3 Block的調用 108
5.3.4 Block外部變量的訪問 109
5.4 Block的應用場景 110
5.4.1 Block用于completionHandler 110
5.4.2 Block聲明為實例變量 113
5.4.3 typedef Block 114
5.5 通過Block實現視圖控制器之間的逆向傳值 115
5.5.1 應用場景 115
5.5.2 代碼實現 115
5.6 小結 118
第6章 iOS網絡請求 119
6.1 iOS網絡請求概述 119
6.2 AFNetworking的應用 119
6.2.1 AFNetworking概述 119
6.2.2 AFNetworking框架使用方法 121
6.2.3 影響網絡請求的幾個條件 122
6.2.4 善用URL宏定義 124
6.2.5 URl接口應統一管理 124
6.2.6 AFNetworking的二次封裝 126
6.3 AFNetworking的序列化問題 126
6.3.1 AFNetworking請求格式 127
6.3.2 AFNetworking響應格式 128
6.4 異步請求數據并刷新UI頁面 128
6.5 遠程文件下載 130
6.5.1 基于AFNetworking的文件下載 130
6.5.2 基于NSURLSession的文件下載 132
6.5.3 網絡安全訪問設置 133
6.6 小結 134
第7章 JavaScript基礎 135
7.1 JavaScript語法 135
7.2 變量的聲明與賦值 136
7.3 如何判斷兩個字符串是否相等 137
7.4 創建JavaScript對象的三種方法 138
7.5 函數聲明與函數表達式 140
7.6 可立即調用的函數表達式 143
7.7 循環的實現 145
7.8 防止JavaScript自動插入分號 146
7.9 嚴格模式 147
7.10 如何運行與調試JavaScript代碼 148
7.10.1 把JavaScript代碼內嵌到HTML頁面中 148
7.10.2 通過Node.js運行JavaScript代碼 150
7.11 JavaScript的面向對象設計思想 150
7.12 JavaScript的異步編程模式 151
7.12.1 Promise對象 152
7.12.2 生成Promise實例對象 152
7.12.3 Promise原型方法 154
7.12.4 Promise的catch方法 154
7.13 如何在HTML中嵌入JavaScript 155
7.13.1 <script>標簽 155
7.13.2 <script>標簽的位置 156
7.13.3 嵌入JavaScript代碼與外部文件引用 157
7.14 JavaScript與JSON 157
7.15 小結 158
第8章 Web與Native的交互 159
8.1 混合開發模式概述 159
8.1.1 Webkit簡介 159
8.1.2 JavaScriptCore簡介 160
8.1.3 Objective-C調用JavaScript 160
8.2 網頁調用iOS的原生方法 162
8.2.1 應用場景 162
8.2.2 技術實現思路 163
8.2.3 代碼實現 163
8.2.4 代碼解讀 164
8.2.5 Objective-C與JavaScript的數據類型 166
8.2.6 Objective-C訪問HTML文件 167
8.3 iOS調用JavaScript 168
8.3.1 Objective-C調用JavaScript代碼 169
8.3.2 Objective-C獲取JavaScript中的變量 170
8.3.3 在Objective-C中,調用帶有參數的JavaScript函數 170
8.3.4 在Objective-C中調用不帶參數的JavaScript函數 171
8.4 JavaScript調用Objective-C代碼 172
8.4.1 JavaScript調用Objective-C代碼 172
8.4.2 JavaScript調用Objective-C函數對象 173
8.5 小結 174
全棧開發技術
第9章 Node.js入門指南 176
9.1 概述 176
9.2 Node.js生態 176
9.3 Node開發環境的搭建 177
9.4 Node.js驗證 177
9.5 **個Node.js工程 178
9.5.1 創建Node.js工程 178
9.5.2 運行Node.js工程 179
9.5.3 Node.js服務的自動重啟 181
9.6 小結 182
第10章 Express——后端框架 183
10.1 概述 183
10.2 Express工程的創建 183
10.3 Express中的GET與POST請求 184
10.3.1 GET請求 184
10.3.2 POST請求 185
10.4 小結 185
第11章 AngularJS——Google前端框架 186
11.1 AngularJS概述 186
11.2 AngularJS指令概述 188
11.2.1 AngualrJS指令:ng-app 188
11.2.2 AngularJS指令:ng-init 189
11.2.3 AngularJS指令:ng-model 189
11.2.4 ng-app與ng-model示例 189
11.2.5 AngularJS指令:ng-click 191
11.3 AngularJS構建單頁面應用 191
11.3.1 單頁面應用的優勢 191
11.3.2 輕松構建單頁面應用 193
11.3.3 單頁面應用的實現 194
11.4 AngularJS的加載 199
11.4.1 AngularJS的引用 199
11.4.2 加載AngularJS靜態資源庫 199
11.5 AngularJS控制器 200
11.5.1 AngularJS控制器的創建 200
11.5.2 AngularJS控制器的應用 200
11.5.3 AngularJS的數據綁定 202
11.6 $scope用法 204
11.7 小結 207
第12章 MongoDB——文檔數據庫 208
12.1 MongoDB概述 208
12.1.1 關于MongoDB 208
12.1.2 MongoDB的歷史 208
12.1.3 MongoDB的優勢 209
12.2
iOS企業級應用開發技術 作者簡介
和凌志,客座教授,工信部人才交流中心認證講師;擁有十多年移動互聯網開發經驗,先后在 Siemens Mobile、 Flextronics 等歐美公司擔任手機軟件架構師。2014年, 為北京高校錄制慕課“iOS企業級應用開發技術”。近幾年,專注于全棧技術開發, 代表產品有“點時”APP ——輕量級知識分享平臺。
- >
龍榆生:詞曲概論/大家小書
- >
莉莉和章魚
- >
朝聞道
- >
有舍有得是人生
- >
羅庸西南聯大授課錄
- >
史學評論
- >
姑媽的寶刀
- >
月亮與六便士