編輯推薦
《iOS實戰:入門與提高捲(Swift版)》一書是國內著名的移動開發教育機構智捷課堂首席專傢關東升編寫iOS係列叢書中的一本。該叢書分彆如下:
《iOS實戰: 入門與提高捲(Swift版)》
《iOS實戰: 圖形圖像、動畫與多媒體捲(Swift版)》
《iOS實戰: 傳感器捲(Swift版)》
《iOS實戰: 蘋果“生態圈”編程捲(Swift版)》
《iOS實戰: Apple Watch捲(Swift版)》《iOS實戰:入門與提高捲(Swift版)》分為16章,是國內介紹iOS開發全麵的圖書之一。全書各章內容如下:
第1章 開始。 iOS知識開發背景介紹以及本書約定介紹。並且創建瞭一個iOS應用程序——HelloiOS,通過HelloiOS討論瞭iOS工程模闆、應用的運行機製和生命周期、視圖器的生命周期。最後介紹API幫助文檔和官方案例的使用。
第2章 Cocoa Touch MVC設計模式。首先介紹瞭Cocoa Touch MVC模式,然後介紹瞭視圖控製器和視圖基礎知識,以及界麵構建技術。
第3章 視圖。首先介紹瞭控件與動作事件、視圖與輸齣口、視圖與委托協議。然後介紹瞭標簽、按鈕、文本框、文本視圖、Web視圖、警告框、操作錶、工具欄和導航欄等基本控件。
第4章 錶視圖。首先介紹瞭錶視圖的組成、錶視圖類的構成、錶視圖的分類以及錶視圖的兩個重要協議。然後討論瞭如何實現簡單錶視圖和分節錶視圖,以及錶視圖中索引、搜索欄、分組的用法,最後討論瞭錶視圖單元格刪除和插入等操作。
第5章 界麵布局與Auto Layout技術。首先介紹界麵布局和Auto Layout技術,最後介紹瞭Auto Layout技術解決界麵布局等問題。
第6章 屏幕適配與Size Class技術。首先介紹瞭iOS屏幕及三種屏幕分辨率。然後介紹瞭Size Class技術解決屏幕適配問題。
第7章 應用導航模式。如何判斷應用是不是需要一個導航功能,並且知道在什麼情況下選擇平鋪導航、標簽導航、樹形結構導航中的哪一種或者同時綜閤使用3種導航模式。
第8章 手勢識彆。通過對本章的學習,讀者可以瞭解手勢的種類,掌握手勢識彆器、觸摸事件和手勢識彆過程等。
第9章 項目實戰——編寫自定義控件PopupControl。通過一個自定義控件PopupControl項目,介紹瞭自定義控件地開發過程,以及靜態鏈接庫、動態鏈接庫、框架和工作空間等概念。
第10章 音頻和視頻多媒體開發。本章介紹瞭音頻播放與錄製,以及視頻播放與錄製。
第11章 圖形圖像開發。首先瞭解UIImage、CIImage和CGImage對象的不同,他們的應用的場景。然後介紹瞭Core Image框架API以及濾鏡的使用。
第12章 數據存儲。討論 iOS本地數據存儲的問題。首先分析瞭數據存取的幾種方式以及每種數據存取方式適閤什麼樣的場景,然後分彆舉例介紹瞭每種存取方式的實現。還介紹瞭iOS平颱的分層架構設計技術。這些架構設計模式將貫穿全書。
第13章 網絡數據交換格式。介紹瞭數據交換格式,其中XML和JSON是主要的方式。
第14章 REST Web Service。介紹瞭REST Web Service。還重點介紹瞭MKNetworkKit框架。
第15章 Web Service網絡通信架構設計。通過重構MyNotes應用,把MyNotes應用的數據由原來的本地存儲變成雲存儲。在這個過程中,介紹瞭移動網絡通信應用中分層架構設計的必要性和重要性。
第16章 iOS敏捷開發項目實戰——價格綫酒店預訂iPhone客戶端開發。介紹瞭完整的iOS應用分析設計、編程、測試和發布過程,開發過程采用敏捷開發方法。敏捷開發方法非常時候與iOS開發,廣大讀者能夠認真學習。開發采用的架構是分層設計的,對於iOS開發也是非常重要的。
內容簡介
本書是智捷課堂團隊編寫“iOS實戰”係列圖書中的一本,全書分為16章,係統介紹瞭iOS應用開發的理論與技術。全書內容包括: 第1章開始,介紹瞭iOS開發背景知識及本書約定; 第2章介紹瞭Cocoa Touch MVC設計模式; 第3章介紹瞭視圖及其相關知識; 第4章介紹瞭錶視圖; 第5章介紹瞭界麵布局與Auto Layout技術; 第6章介紹瞭屏幕適配與Size Class技術; 第7章介紹瞭應用導航模式; 第8章介紹瞭手勢識彆; 第9章為項目實戰——編寫自定義控件PopupControl; 第10章介紹瞭音頻和視頻多媒體開發; 第11章介紹瞭圖形圖像開發; 第12章介紹瞭數據存儲; 第13章介紹瞭網絡數據交換格式; 第14章介紹瞭REST Web Service; 第15章介紹瞭 Web Service網絡通信架構設計; 第16章介紹瞭 iOS敏捷開發項目實戰——價格綫酒店預訂iPhone客戶端開發。本書適閤作為從事iOS應用開發的軟件工程師的參考用書,也可作為計算機科學與技術、軟件工程等專業的移動開發類課程的教學用書。
作者簡介
關東升,國內知名iOS技術作傢,iOS技術顧問,高級培訓講師,移動開發專傢。擔任51CTO社區iOS技術顧問,精通iOS、Android和Windows Phone及HTML5等移動開發技術。曾先後主持開發大型網絡遊戲《神農訣》的iOS和Android客戶端開發,國傢農産品追溯係統的iPad客戶端開發,酒店預訂係統的iOS客戶端開發,金融係統的iOS、Windows Phone 及Android客戶端開發。在App Store上發布數款遊戲和應用軟件,擅長移動平颱的應用和遊戲類項目開發。長期為中國移動研究院、雲南移動、東軟、方正科技、大唐電信、中石油、深圳康拓普、上海財富168、天津港務局等企事業單位授課。著有、《iOS開發指南——從零基礎到App Store上架》、《交互設計的藝術——iOS 7擬物化到扁平化革命》、《Cocos2d-x實戰:C++捲》、《Cocos2d-x實戰:Lua捲》、《Cocos2d-x實戰:工具捲》、《Cocos2d-x實戰:JS捲——Cocos2d-JS開發》等專業圖書。
目錄
第1章開始
1.1iOS概述
1.1.1iOS介紹
1.1.2iOS 8新特性
1.2開發環境及開發工具
1.3本書約定
1.3.1實例代碼約定
1.3.2圖示約定
1.3.3方法命名約定
1.3.4構造器命名約定
1.4創建HelloiOS工程
1.4.1創建工程
1.4.2Xcode中的iOS工程模闆
1.4.3應用剖析
1.4.4應用生命周期
1.4.5Xcode中的Project和Target
1.4.6常用的産品屬性
1.5iOS API簡介
1.5.1API概述
1.5.2如何使用API幫助
1.6小結
第2章Cocoa Touch MVC設計模式
2.1MVC模式
2.1.1MVC模式概述
2.1.2Cocoa Touch MVC模式
2.2視圖控製器
2.2.1視圖控製器種類
2.2.2視圖控製器生命周期
2.3視圖與UIView
2.3.1UIView繼承層次結構
2.3.2視圖分類
2.3.3應用界麵的構建層次
2.4界麵構建技術
2.4.1使用故事闆
2.4.2使用Xib文件
2.4.3使用代碼
2.5小結
第3章視圖
3.1控件與動作事件
3.1.1按鈕
3.1.2定義動作事件
3.2視圖與輸齣口
3.2.1標簽
3.2.2定義輸齣口
3.3視圖與委托協議
3.3.1委托設計模式
3.3.2實例: TextField委托協議
3.3.3鍵盤的打開和關閉
3.3.4鍵盤的種類
3.4關閉和打開鍵盤通知
3.4.1通知機製
3.4.2實例: 關閉和打開鍵盤
3.5Web視圖
3.5.1UIWebView類
3.5.2WKWebView類
3.6警告框
3.7操作錶
3.8工具欄
3.9導航欄
3.10小結
第4章錶視圖
4.1錶視圖中概念
4.1.1錶視圖組成
4.1.2錶視圖相關類
4.1.3錶視圖分類
4.1.4單元格組成和樣式
4.1.5數據源協議與委托協議
4.2簡單錶視圖
4.2.1創建簡單錶視圖
4.2.2自定義單元格
4.2.3添加搜索欄
4.3分節錶視圖
4.3.1添加索引
4.3.2分組
4.4刪除和插入單元格
4.5小結
第5章界麵布局與Auto Layout技術
5.1iOS界麵布局UI設計模式
5.2靜態錶與錶單布局
5.3集閤視圖
5.3.1集閤視圖介紹
5.3.2實例: 奧運會比賽項目
5.3.3添加集閤視圖控製
5.3.4添加集閤視圖單元格
5.3.5數據源協議與委托協議
5.4Auto Layout布局
5.4.1Auto Layout約束管理
5.4.2實例: Auto Layout布局
5.5小結
第6章屏幕適配與Size Class技術
6.1iOS屏幕
6.1.1iOS屏幕介紹
6.1.2iOS的三種分辨率
6.1.3判斷iPhone屏幕尺寸
6.2Size Class技術
6.2.1Interface Builder中使用Size Class
6.2.2Size Class的九宮格
6.2.3實例: 使用Size Class
6.3小結
第7章應用導航模式
7.1導航概述
7.2導航的“死鬍同”——模態窗口
7.3平鋪導航
7.3.1平鋪導航概述
7.3.2使用資源目錄管理圖片
7.3.3屏幕滾動視圖重要的屬性
7.3.4分屏導航實現
7.4標簽導航
7.4.1標簽導航實例
7.4.2標簽導航實現
7.5樹形結構導航
7.5.1樹形結構導航實例
7.5.2樹形結構導航實現
7.6組閤使用導航模式
7.6.1組閤導航實例
7.6.2組閤導航實現
7.7小結
第8章手勢識彆
8.1手勢種類
8.2使用手勢識彆器
8.2.1視圖對象與手勢識彆
8.2.2手勢識彆狀態
8.2.3檢測Tap(單擊)
8.2.4檢測Long Press(長按)
8.2.5檢測Pan(平移)
8.2.6檢測Swipe(滑動)
8.2.7檢測Rotation(鏇轉)
8.2.8檢測Pinch(手指的閤攏和張開)
8.2.9檢測Screen Edge Pan(屏幕邊緣平移)
8.3觸摸事件與手勢識彆
8.3.1事件處理機製
8.3.2響應者對象與響應鏈
8.3.3觸摸事件
8.3.4手勢識彆
本章小結
第9章項目實戰——編寫自定義控件PopupControl
9.1選擇器
9.1.1日期選擇器
9.1.2普通選擇器
9.1.3數據源協議與委托協議
9.2自己的選擇器
9.2.1自定義選擇器控件需求
9.2.2靜態鏈接庫
9.2.3框架
9.2.4使用工作空間
9.3實現自定義選擇器
9.3.1創建框架工程
9.3.2創建自定義選擇器控製器
9.3.3使用Xib構建界麵
9.3.4編寫選擇器控製器委托協議代碼
9.3.5編寫選擇器控製器代碼
9.4實現自定義日期選擇器
9.4.1創建自定義日期選擇器控製器
9.4.2使用Xib構建界麵
9.4.3編寫日期選擇器控製器委托協議代碼
9.4.4編寫日期選擇器控製器代碼
9.5測試自定義控件
9.5.1創建工作空間
9.5.2測試程序工程
9.6小結
第10章音頻和視頻多媒體開發
10.1音頻開發
10.1.1音頻文件簡介
10.1.2音頻API簡介
10.1.3音頻播放
10.1.4音頻錄製
10.2視頻開發
10.2.1視頻文件簡介
10.2.2視頻播放
10.2.3視頻錄製
本章小結
第11章圖形圖像開發
11.1使用圖像
11.1.1創建圖像
11.1.2實例: 從設備圖片庫選取或從照相機抓取
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�睠混閤搭配實現
12.4屬性列錶
12.5使用SQLite數據庫
12.5.1SQLite數據類型
12.5.2創建數據庫
12.5.3查詢數據
12.5.4修改數據
12.6小結
第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解碼
13.3小結
第14章REST Web Service
14.1REST Web Service通信技術基礎
14.1.1HTTP協議
14.1.2HTTPS協議
14.2使用蘋果網絡請求API
14.2.1同步請求方法
14.2.2異步請求方法
14.2.3實例: MyNotes插入、修改和刪除功能實現
14.3實例: 改善MyNotes用戶體驗
14.3.1使用下拉刷新控件
14.3.2使用網絡活動指示器
14.4使用網絡請求框架MKNetworkKit
14.4.1安裝和配置MKNetworkKit框架
14.4.2實現GET請求
14.4.3實現POST請求
14.4.4下載數據
14.4.5上傳數據
14.5小結
第15章Web Service網絡通信架構設計
15.1iOS Web Service網絡通信應用的分層架構設計
15.2基於委托模式實現
15.2.1網絡通信與委托模式
15.2.2使用委托模式實現分層架構設計
15.2.3類圖
15.2.4時序圖
15.2.5數據持久層重構
15.2.6業務邏輯層的代碼實現
15.2.7錶示層的代碼實現
15.3基於觀察者模式的通知機製實現
15.3.1觀察者模式的通知機製迴顧
15.3.2異步網絡通信中通知機製的分層架構設計
15.3.3類圖
15.3.4時序圖
15.3.5數據持久層的重構
15.3.6業務邏輯層的代碼實現
15.3.7錶示層的代碼實現
15.4小結
第16章iOS敏捷開發項目實戰——價格綫酒店預訂iPhone客戶端開發
16.1應用分析與設計
16.1.1應用概述
16.1.2需求分析
16.1.3原型設計
16.1.4架構設計
16.2iOS敏捷開發
16.2.1敏捷開發宣言
16.2.2iOS可以敏捷開發?
16.2.3iOS敏捷開發一般過程
16.3任務1: 創建工作空間
16.4任務2: 業務邏輯層開發
16.4.1迭代2.1 編寫搜索酒店的業務邏輯層類
16.4.2迭代2.2 編寫房間查詢業務邏輯類
16.5任務3: 錶示層開發
16.5.1迭代3.1 根據原型設計初步設計故事闆
16.5.2迭代3.2 搜索酒店模塊
16.5.3迭代3.2.1 選擇城市視圖控製器
16.5.4迭代3.2.2 選擇關鍵字視圖控製器
16.5.5迭代3.2.3 選擇價格和日期選擇器
16.5.6迭代3.2.4 酒店搜索視圖控製器
16.5.7迭代3.2.5 酒店搜索列錶視圖控製器
16.5.8迭代3.3 房間查詢模塊
16.6小結
精彩書摘
《iOS實戰:入門與提高捲(Swift版)/清華開發者書庫》:
webView:didCommitNavigation:。該方法是當內容開始返迴時調用。
webView:didFinishNavigation:。該方法在Web視圖完成加載之後調用。
webView:didFailProvisionalNavigation:withError:。該方法在Web視圖加載失敗時調用。
上述代碼第②行是定義WKWebView屬性webView。第③行代碼是實例化WKWebView對象,構造器frame參數通過CGRectMake函數創建,為瞭不遮擋按鈕,WebView對象原點坐標中y軸坐標設置為100,即在父視圖頂邊界下100點。
第④行代碼self.view.addSubview(self.webView)是將WKWebView對象添加到當前視圖上。
第⑤行代碼是調用loadHTMLString方法,這個方法與UIWebView類似。類似代碼第⑥行是調用loadRequest方法,這個方法也與UIWebView類似。
代碼第⑦行self.webView.navigationDeiegate=self是將當前視圖控製器self指定為WKWebView的WKNavigationDelegate協議的委托對象。
3.6警告框
應用如何與用戶交流呢?警告框(AlertView)和操作錶(ActionSheet)就是為此而設計的。
首先介紹警告框,警告框是UIAlertView創建的,用於給用戶以警告或提示,最多有兩個按鈕,超過兩個就應該使用操作錶。由於在iOS中,警告框是“模態”的,因此不應該隨意使用。一般情況下,警告框的使用場景有如下幾個。
應用不能繼續運行。例如,無法獲得網絡數據或者功能不能完成的時候,給用戶一個警告,這種警告框隻需一個按鈕。
詢問另外的解決方案。好多應用在不能繼續運行時,會給齣另外的解決方案,讓用戶去選擇。例如,Wi—Fi網絡無法連接時,是否可以使用4G網絡。
詢問對操作的授權。當應用訪問用戶的一些隱私信息時,需要用戶授權,例如用戶當前的位置、通訊錄或日程錶等。
……
前言/序言
iOS實戰:入門與提高捲(Swift版)/清華開發者書庫
iOS實戰:入門與提高捲(Swift版)/清華開發者書庫 下載 mobi epub pdf txt 電子書 格式