《移動作業系統原理與實踐——基於iOS與Swift程式語言》是2017年清華大學出版社出版的圖書,圖書作者是關東升。
基本介紹
- 書名:移動作業系統原理與實踐——基於iOS與Swift程式語言
- 作者:關東升
- 出版社:清華大學出版社
- 出版時間:2017年12月01日
- 定價:69 元
- ISBN:9787302481560
- 印次:1-1
- 印刷日期:2017.10.16
內容簡介,目錄結構,
內容簡介
本書是專門為高校師生學習Swift語言和iOS套用開發而編著的教材。書中首先詳細介紹了Swift語言,然後展開介紹iOS開發技術,最後安排了綜合案例。全書分別介紹了如下內容: 作業系統的基本概念; 蘋果硬體設備和iOS作業系統; Swift語言的基本語法與程式設計; iOS套用開發基礎; iOS套用界面技術; 表視圖; 界面布局與Auto Layout技術; 螢幕適配與Size Class技術; 套用導航模式; 多媒體開發; 圖形圖像開發; 數據存儲; 網路數據交換格式; 網路通信。最後一章介紹了綜合案例——奧運會套用設計與開發,該章給出了完整的iOS套用分析和設計,以及編程實現,架構採用分層設計實現,開發中採用敏捷開發方法。本書適合作為高等院校與職業院校“移動作業系統”與“iOS套用開發”等課程的教材,也適合廣大iOS套用開發人員自學參考。
目錄結構
第0章移動作業系統概論
0.1作業系統的原理與概念
0.1.1隱藏硬體細節
0.1.2資源管理
0.1.3作業系統的歷史
0.2作業系統的分類
0.2.1批處理作業系統
0.2.2分時作業系統
0.2.3實時作業系統
0.2.4個人計算機作業系統
0.2.5網路作業系統
0.2.6分散式作業系統
0.2.7嵌入式作業系統
0.3移動作業系統
0.3.1移動設備的特徵
0.3.2主要的移動作業系統
0.3.3移動作業系統的套用和發展
第1章iOS作業系統及Swift程式語言簡介
1.1蘋果的硬體設備與作業系統
1.2Swift語言概述
1.3iOS概述
1.4開發環境及開發工具
1.4.1Xcode開發工具
1.4.2Xcode安裝
1.4.3Xcode卸載
1.4.4Xcode界面
本章小結
同步練習
第2章Swift語言程式設計(上)
2.1第一個Swift程式
2.1.1創建Playground
2.1.2創建macOS工程
2.2代碼解釋
2.3標識符
2.4關鍵字
2.5常量和變數
2.5.1常量
2.5.2變數
2.6運算符
2.6.1算術運算符
2.6.2算術賦值運算符
2.6.3關係運算符
2.6.4邏輯運算符
2.6.5位運算符
2.7Swift數據類型
2.7.1整型
2.7.2浮點型
2.7.3布爾型
2.7.4元組類型
2.7.5數據類型轉換
2.8可選類型
2.8.1可選類型概念
2.8.2可選類型值拆包
2.8.3可選綁定
2.9字元
2.9.1Unicode編碼
2.9.2轉義符
2.10字元串
2.10.1字元串創建
2.10.2字元串拼接
2.10.3字元串插入、刪除和替換
2.10.4字元串比較
2.11控制語句
2.11.1分支語句
2.11.2循環語句
2.11.3跳轉語句
2.11.4值綁定
2.12集合
2.12.1數組集合
2.12.2字典集合
2.13函式
2.13.1定義函式
2.13.2函式調用
2.13.3函式類型
2.14閉包
2.14.1閉包的概念
2.14.2使用閉包表達式
2.14.3類型推斷簡化
2.14.4隱藏return關鍵字
2.14.5省略參數名
2.14.6使用尾隨閉包
2.14.7捕獲上下文中的變數和常量
本章小結
同步練習
第3章Swift語言程式設計(下)
3.1Swift中的面向對象類型
3.1.1枚舉
3.1.2結構體與類
3.2可選鏈
3.2.1可選鏈概念
3.2.2使用問號和感嘆號
3.3訪問限定
3.3.1訪問範圍
3.3.2訪問級別
3.3.3使用訪問級別最佳實踐
3.4屬性
3.4.1存儲屬性
3.4.2計算屬性
3.4.3靜態屬性
3.5方法
3.5.1實例方法
3.5.2靜態方法
3.6構造函式
3.6.1默認構造函式
3.6.2構造函式與存儲屬性初始化
3.6.3使用參數標籤
3.7析構函式
3.8類繼承
3.8.1繼承概念
3.8.2構造函式繼承
3.8.3重寫
3.8.4使用final關鍵字
3.8.5類型檢查
3.8.6類型轉換
3.8.7使用AnyObject和Any類型
3.9擴展
3.9.1聲明擴展
3.9.2擴展計算屬性
3.9.3擴展方法
3.9.4擴展構造函式
3.10協定
3.10.1協定概念
3.10.2協定定義和遵從
3.10.3協定方法
3.10.4協定屬性
本章小結
同步練習
第4章iOS套用開發概述
4.1HelloiOS工程
4.1.1創建工程
4.1.2Xcode中的iOS工程模板
4.1.3套用剖析
4.2套用生命周期
4.3iOS API簡介
4.3.1API概述
4.3.2如何使用API幫助
本章小結
同步練習
第5章iOS套用界面技術
5.1界面構建技術
5.1.1使用故事板
5.1.2使用Xib檔案
5.1.3使用代碼
5.2MVC模式
5.2.1MVC模式概述
5.2.2Cocoa Touch MVC模式
5.3視圖控制器
5.3.1視圖控制器種類
5.3.2視圖控制器的生命周期
5.4視圖與UIView
5.4.1UIView繼承層次結構
5.4.2視圖分類
5.4.3套用界面的構建層次
5.5控制項與動作事件
5.5.1按鈕
5.5.2定義動作事件
5.6視圖與輸出口
5.6.1標籤
5.6.2定義輸出口
5.7視圖與委託協定
5.7.1委託設計模式
5.7.2實例: TextField委託協定
5.7.3鍵盤的打開和關閉
5.7.4鍵盤的種類
5.8關閉和打開鍵盤通知
5.8.1通知機制
5.8.2實例: 關閉和打開鍵盤
5.9Web視圖
5.10工具列
5.11導航欄
本章小結
同步練習
第6章表視圖
6.1表視圖中的概念
6.1.1表視圖組成
6.1.2表視圖的相關類
6.1.3表視圖的分類
6.1.4單元格的組成和樣式
6.1.5數據源協定與委託協定
6.2簡單表視圖
6.2.1創建簡單表視圖
6.2.2自定義單元格
6.3分節表視圖
6.3.1添加索引
6.3.2分組
本章小結
同步練習
第7章界面布局與Auto Layout技術
7.1iOS界面布局UI設計模式
7.2靜態表與表單布局
7.3Auto Layout布局
7.3.1Interface Builder中管理Auto Layout約束
7.3.2案例: Auto Layout布局
本章小結
同步練習
第8章螢幕適配與Size Class技術
8.1iOS螢幕的多樣性
8.1.1iOS螢幕介紹
8.1.2iOS的3種解析度
8.1.3獲得iOS設備螢幕信息
8.2Size Class與iOS多螢幕適配
8.2.1Size Class技術
8.2.2Size Class的九宮格
8.2.3Size Class的四個象限
8.2.4Xcode 8中使用Size Class
8.2.5案例: 使用Size Class
本章小結
同步練習
第9章套用導航模式
9.1導航概述
9.2導航的“死胡同”——模態視圖
9.3平鋪導航
9.3.1平鋪導航概述
9.3.2使用資源目錄管理圖片
9.3.3螢幕滾動視圖的重要屬性
9.3.4分屏導航實現
9.4標籤導航
9.4.1標籤導航實例
9.4.2標籤導航實現
9.5樹形結構導航
9.5.1樹形結構導航實例
9.5.2樹形結構導航實現
本章小結
同步練習
第10章多媒體開發
10.1音頻開發
10.1.1音頻檔案簡介
10.1.2音頻API簡介
10.1.3實例: 音頻播放
10.1.4實例: 音頻錄製
10.2視頻開發
10.2.1視頻檔案簡介
10.2.2視頻播放
本章小結
同步練習
第11章圖形圖像開發
11.1使用圖像
11.1.1創建圖像
11.1.2實例: 創建UIImage圖像對象
11.1.3實例: 從設備圖片庫選取或從照相機抓取
11.2使用Core Image框架
11.2.1Core Image框架API
11.2.2濾鏡
11.2.3實例: 舊色調和高斯模糊濾鏡
本章小結
同步練習
第12章數據存儲
12.1數據存儲概述
12.1.1沙箱目錄
12.1.2數據存儲方式
12.2分層架構設計
12.2.1低耦合企業級系統架構設計
12.2.2iOS分層架構設計
12.3實例: MyNotes套用
12.3.1採用純Swift語言實現
12.3.2採用Swift調用ObjectiveC混合搭配實現
12.4屬性列表
12.5使用SQLite資料庫
12.5.1SQLite數據類型
12.5.2創建資料庫
12.5.3查詢數據
12.5.4修改數據
本章小結
同步練習
第13章網路數據交換格式
13.1XML數據交換格式
13.1.1XML文檔結構
13.1.2XML文檔解析與框架性能
13.1.3實例: MyNotes套用XML
13.2JSON數據交換格式
13.2.1JSON文檔結構
13.2.2JSON數據編碼/解碼與框架性能
13.2.3實例: MyNotes套用JSON解碼
本章小結
同步練習
第14章網路通信
14.1基於Web Service的網路通信技術
14.1.1HTTP協定
14.1.2HTTPS協定
14.1.3蘋果ATS限制
14.2使用URLSession
14.2.1URLSession API
14.2.2簡單會話實現GET請求
14.2.3默認會話實現GET請求
14.2.4實現POST請求
14.2.5下載數據
14.3實例: 重構MyNotes案例
14.3.1插入方法調用
14.3.2修改方法調用
14.3.3刪除方法調用
本章小結
同步練習
第15章綜合案例: 奧運會套用設計與開發
15.1套用分析與設計
15.1.1套用概述
15.1.2需求分析
15.1.3原型設計
15.1.4資料庫設計
15.1.5架構設計
15.2任務1: 創建工程
15.3任務2: 信息系統層與持久層開發
15.3.1疊代2.1: 編寫資料庫DDL腳本
15.3.2疊代2.2: 插入初始數據到資料庫
15.3.3疊代2.3: 資料庫版本控制
15.3.4疊代2.4: 配置持久層
15.3.5疊代2.5: 添加SQLite3庫
15.3.6疊代2.6: 編寫實體類
15.3.7疊代2.7: 編寫DAO類
15.3.8疊代2.8: 資料庫幫助類DBHelper
15.4任務3: 業務邏輯層開發
15.4.1疊代3.1: 編寫比賽項目業務邏輯類
15.4.2疊代3.2: 編寫比賽日程業務邏輯類
15.5任務4: 表示層開發
15.5.1疊代4.1: 使用資源目錄管理圖片和圖示資源
15.5.2疊代4.2: 根據原型設計初步設計故事板
15.5.3疊代4.3: “首頁”模組
15.5.4疊代4.5: “比賽項目”模組
15.5.5疊代4.6: “比賽日程”模組
15.5.6疊代4.7: “倒計時”模組表示層
15.5.7疊代4.8: “關於我們”模組表示層
15.6任務5: 收工
15.6.1疊代5.1: 添加圖示
15.6.2疊代5.2: 設計啟動界面
本章小結
附錄同步練習參考答案