移動操作系統原理與實踐 : 基於 iOS 與 Swift 編程語言 移动操作系统原理与实践:基于iOS与Swift编程语言

關東升

立即出貨 (庫存=1)

買這商品的人也買了...

商品描述

本書是專門為高校師生學習Swift語言和iOS應用開發而編著的教材。書中首先詳細介紹了Swift語言,然後展開介紹iOS開發技術,最後安排了綜合案例。適合作為高等院校與職業院校“移動操作系統”與“iOS應用開發”等課程的教材,也適合廣大iOS應用開發人員自學參考。

全書內容如下: 操作系統的基本概念; 蘋果硬件設備和iOS操作系統; Swift語言的基本語法與程序設計; iOS應用開發基礎; iOS應用界面技術; 表視圖; 界面佈局與Auto Layout技術; 屏幕適配與Size Class技術; 應用導航模式; 多媒體開發; 圖形圖像開發; 數據存儲; 網絡數據交換格式; 網絡通信。最後一章介紹了綜合案例——奧運會應用設計與開發,該章給出了完整的iOS應用分析和設計,以及編程實現,架構採用分層設計實現,開發中採用敏捷開發方法。

 

作者簡介

中國知名iOS技術作家,iOS技術顧問,高級培訓講師,移動開發專家。

擔任51CTO社區iOS技術顧問,精通iOS、Android、Windows Phone及HTML5等移動開發技術。曾先後主持開發大型網絡遊戲《神農訣》的iOS和Android客戶端開發,國家農產品追溯系統的iPad客戶端開發,酒店預訂系統的iOS客戶端開發,金融系統的iOS、Windows Phone及Android客戶端開發。在App Store上發布數款遊戲和應用軟件,擅長移動平台的應用和遊戲類項目開發。

長期為中國移動研究院、雲南移動、東軟、方正科技、大唐電信、中石油、深圳康拓普、上海財富168、天津港務局等企事業單位授課。

著有《iOS實戰:入門與提高卷(Swift版)》《iOS實戰:傳感器卷(Swift版)》《iOS實戰:圖形圖像、動畫和多媒體卷(Swift版)》《iOS開髮指南——從零基礎到App Store上架》《交互設計的藝術——iOS 7擬物化到扁平化革命》《Cocos2d-x實戰:C++卷(第2版)》《Cocos2d-x實戰:Lua卷(第2版)》 《Cocos2d-x實戰:JS卷——Cocos2d-JS開發(第2版)》《Cocos2d-x實戰:工具卷(第2版)》等專業圖書。

目錄大綱

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調用ObjectiveC混合搭配實現

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:設計啟動界面

本章小結

附錄同步練習參考答案