ios開發(fā)實戰(zhàn)體驗

出版時間:2012-8  出版社:海洋出版社  作者:DevDiv移動開發(fā)社區(qū)  頁數:324  
Tag標簽:無  

前言

  蘋果iOS系統(tǒng)已經歷5年多17個版本的更新,其在多代iPhone、iPad和iPod設備上取得巨大成功,目前已經成長為市場上影響力最大、功能最豐富、生態(tài)最完整的移動操作系統(tǒng)?! OS的成功得益于蘋果公司對移動互聯(lián)網的深刻理解,蘋果公司始終專注于用戶體驗與服務,并通過平臺整合構建了完整的應用生態(tài)鏈。iOS從誕生之初即專注用戶體驗與服務的提升,通過不斷的技術革新,一次次引領著UI交互方式的變革。比如,Siri技術就是 iOS5 最大的亮點,實現(xiàn)了語音控制輸入功能,可以通過Siri使用語音提問和評論,并且可以與包括日歷等在內的所有應用通信。同時,新“retina”顯示屏像素要比歷史版本的顯示屏像素高出3倍左右,將用戶體驗提升到前所未有的高度,同時,也拉大了與競爭對手之間的距離!  APP Store是蘋果公司構建應用生態(tài)鏈的關鍵形式,它讓眾多的開發(fā)者找到了自己的商業(yè)模式和商業(yè)機會,而蘋果公司因此積累了龐大數量的應用。云服務iCloud讓所有的iOS設備實現(xiàn)了互聯(lián)互通,通過iCloud,使用同一賬號的用戶可以在不同iOS設備上同步信息和APP,實現(xiàn)文件備份、存儲等功能。可以看出,以iCloud為“媒”,統(tǒng)一不同設備系統(tǒng)平臺是蘋果公司的既定戰(zhàn)略,蘋果公司在平臺整合上已經邁出了堅實的一步?! ≡趇OS過去 5 年多時間里,業(yè)界對蘋果公司的疑問從“這是智能手機嗎”發(fā)展到了“它可以代替PC”嗎,可見其對智能手機發(fā)展的貢獻,現(xiàn)在已經沒有人懷疑以iOS引領的新一代智能手機將成為最重要的個人計算終端、個人娛樂終端和個人通信終端,其地位將與傳統(tǒng) PC分庭抗禮。蘋果公司依靠其強大的垂直一體化戰(zhàn)略,不僅通過iPhone、iPad等產品賺取了高額的利潤,同時,通過吸引開發(fā)者不斷地提供創(chuàng)新的應用,為蘋果公司源源不斷地注入活力?! 〈送?,值得關注的是,蘋果公司并不單純是“以質取勝”,在數量上,蘋果公司也有望在未來幾年實現(xiàn)對Windows 設備(安裝微軟Windows操作系統(tǒng)的設備)的反超。相關統(tǒng)計數據顯示:過去,Windows設備在同蘋果設備的銷量對比上,一直占據絕對優(yōu)勢,這一優(yōu)勢在2000年左右曾經達到過一個峰值,每銷售50臺Windows設備才售出一款蘋果設備。但是,隨著iPad和iPhone等一系列基于移動互聯(lián)產品的問世,這一數字比例在急劇減小,截止目前,Windows設備與蘋果設備的銷量比例約為2∶1,分析師稱,蘋果設備數量有望在未來兩年內超過微軟?! ‘斍埃趇OS的應用具有廣闊的前景和良好的發(fā)展趨勢。希望廣大開發(fā)者借iOS之勢,利用《iOS開發(fā)實戰(zhàn)體驗》及書中提供的相關代碼,快速進入iOS開發(fā)領域,實現(xiàn)開發(fā)者夢想!  中國科學院博士、博士生導師,軟件研究所研究員 金蓓弘

內容概要

  iOS是移動開發(fā)三大平臺之一。本書是DevDiv移動開發(fā)社區(qū)版主、資深會員繼成功推出《移動開發(fā)全平臺解決方案——Android/iOS/Windows
Phone》和《Windows
Phone開發(fā)實戰(zhàn)體驗(應用+游戲)》后的又一力作。該書章節(jié)設置全面涵蓋iOS應用開發(fā)技術要點,原創(chuàng)案例細致呈現(xiàn)作者實際開發(fā)經驗。具體包括iOS開發(fā)框架、Object-C高級知識、MVC設計和Push消息、視圖高級使用技巧、數據持久化、TableView使用、文件I/O、硬件和通信、iOS多媒體、定位和地圖、網絡編程、連接到互聯(lián)網、多線程編程、2D和3D繪圖編程、調試和優(yōu)化等內容。

作者簡介

DevDiv覆蓋移動開發(fā)主流平臺Android、iOS、Windows Phone、Windows
8、HTML5和Symbian等,集資訊、論壇、博客、獵頭服務、技術培訓于一體,是國內最具人氣的綜合性移動開發(fā)社區(qū)。

書籍目錄

第1章 iOS開發(fā)框架
1.1 蘋果產品和重要的事件
1.2 應用商店——App Store
1.3 iOS軟件的體系結構
1.3.1 核心操作系統(tǒng)層(Core OS)
1.3.2 核心服務層(Core Service)
1.3.3 媒體層(Media)
1.3.4 可輕觸層(Cocoa Touch)
1.4 應用程序運行周期
1.4.1 應用程序的生命周期
1.4.2 應用程序的入口
1.4.3 應用程序的委托
1.4.4 加載主Nib文件
1.4.5 事件處理周期
1.5 應用程序運行環(huán)境
1.5.1 應用程序沙箱
1.5.2 自動休眠定時器
1.6 iOS軟件設計規(guī)范
1.6.1 平臺間的差異
1.6.2 3種應用程序樣式
1.7 iOS開發(fā)工具——Xcode
第2章 Object-C高級知識
2.1 Object-C語言介紹
2.1.1 數據類型與表達式
2.1.2 流程控制
2.1.3 類與結構
2.2 類別(Category)介紹
2.2.1 認識類別(Category)
2.2.2 擴展NSString
2.2.3 擴展NSDictionary
2.2.4 擴展NSArray
2.2.5 Object-C與C++混合編程
2.2.6 靜態(tài)庫
第3章 MVC設計和Push消息
3.1 MVC框架設計
3.1.1 MVC設計思想
3.1.2 iPhone開發(fā)中的MVC
3.1.3 iPhone中MVC的實現(xiàn)
3.2 通知中心
3.2.1 NSNotification類
3.2.2 Notifications的常見誤解
3.3 Push機制
3.3.1 Push消息需要的條件
3.3.2 在代碼中使用Push消息
3.3.3 通過Mac發(fā)送Push消息
3.3.4 通過iPhone發(fā)送Push消息
第4章 視圖高級使用技巧
4.1 界面工具Interface Builder
4.2 定制基礎控件
4.2.1 定制UIButton
4.2.2 定制UIPickerView以實現(xiàn)隱
藏功能
4.3 動畫特效
4.3.1 UIViewAnimation動畫
4.3.2 使用公有CATransition實現(xiàn)
動畫效果
4.3.3 使用私有CATransition實現(xiàn)
動畫效果
4.4 頁面布局——橫豎屏處理
第5章 數據持久化
5.1 Plist文件操作
5.2 NSUserDefaults操作
5.3 SQLite數據庫操作
5.4 Core Data文件操作
5.4.1 CoreData特性
5.4.2 為何要使用Core Data
5.4.3 關于Core Data的常見誤解
5.4.4 建立數據庫模型
5.4.5 創(chuàng)建實體類
5.4.6 數據庫操作
第6章 TableView使用
6.1 UITableView的組成及樣式
6.2 UITableView的定義
6.3 UITableView的數據源
6.3.1 UITableViewDataSource協(xié)

6.3.2 表格視圖的實現(xiàn)
6.3.3 表格單元
6.3.4 創(chuàng)建表格單元的數據源
6.4 UITableView的委托
6.5 UITableView的編輯
6.6 UITableView實現(xiàn)氣泡效果的表格
6.7 UITableView拖動以顯示更多數據
第7章 文件I/O
7.1 文件系統(tǒng)
7.2 文件管理
7.2.1 讀取并顯示對應目錄下的文

7.2.2 獲取文件屬性信息
7.2.3 創(chuàng)建文件夾
7.2.4 創(chuàng)建文件
7.2.5 刪除文件
7.3 本地數據存儲規(guī)則
第8章 硬件和通信
8.1 攝像頭
8.1.1 拍照
8.1.2 攝像
8.1.3 定制拍照界面
8.2 加速度計
8.2.1 加速度計原理
8.2.2 加速度計使用
8.3 陀螺儀
8.3.1 陀螺儀原理
8.3.2 陀螺儀使用
8.4 調用通訊錄
8.4.1 讀取通訊錄
8.4.2 編輯通訊錄
8.5 打電話
8.6 發(fā)短信
8.7 發(fā)郵件
第9章 iOS多媒體
9.1 圖像
9.1.1 加載UIImage
9.1.2 UIImageView
9.1.3 訪問照片
9.2 聲音
9.2.1 System Sound Services
9.2.2 音頻
9.3 視頻
第10章 定位和地圖
10.1 基礎知識
10.2 iPhone定位方法
10.3 MKReverseGeocoder地理位置反
向編碼
10.4 LBS應用的類型
10.5 谷歌地圖
10.5.1 在地圖上增加大頭針標注
的方法
10.5.2 在地圖上畫線
第11章 網絡編程
11.1 iOS網絡編程
11.1.1 NSURLConnection
11.1.2 網絡編程示例
11.2 ASIHTTPRequest
11.2.1 使用ASIHTTPRequest
11.2.2 ASIHTTPRequest使用示

11.3 檢查網絡狀態(tài)
11.3.1 SCNetworkReachability
11.3.2 Reachability
第12章 連接到互聯(lián)網
12.1 使用UIWebView
12.2 解析XML
12.2.1 iOS下的XML解析庫
12.2.2 NSXMLParser
12.2.3 第三方解析器
12.2.4 編寫簡單天氣解析應用
12.3 解析JSON
12.3.1 iPhone的JSON
12.3.2 JSON解析庫
第13章 多線程編程
13.1 UNIX多線程機制的使用
13.2 NSThread創(chuàng)建多線程的方法
13.2.1 線程的創(chuàng)建與啟動
13.2.2 線程的同步與鎖
13.2.3 線程的交互和其他控制方

13.2.4 線程的睡眠
13.3 線程池NSOperationQueue
13.3.1 創(chuàng)建線程操作NSOperation
13.3.2 任務控制
13.4 生產者—消費者模型
13.4.1 使用@synchronized
13.4.2 使用NSLocking協(xié)議
第14章 2D和3D繪圖編程
14.1 Quartz 2D
14.1.1 畫布(Canvas)
14.1.2 繪圖上下文(Graphics
Context)
14.1.3 Quartz 2D數據類型
14.1.4 圖形狀態(tài)
14.1.5 Quartz 2D坐標系統(tǒng)
14.1.6 內存管理
14.1.7 繪制圖形圖像
14.1.8 繪制OpenFlow效果的倒

14.2 3D繪圖OpenGL ES
14.2.1 OpenGL與OpenGL ES簡

14.2.2 OpenGL ES在iPhone繪圖
中的應用
第15章 調試和優(yōu)化
15.1 常見錯誤
15.1.1 版本錯誤
15.1.2 證書錯誤
15.1.3 編寫錯誤
15.1.4 導入錯誤
15.2 調試跟蹤
15.2.1 使用調試器
15.2.2 使用日志
15.3 使用Instruments

章節(jié)摘錄

版權頁:   插圖:   業(yè)務模型還有一個很重要的模型,那就是數據模型。數據模型主要指實體對象的數據保存(持續(xù)化)。比如將一張訂單保存到數據庫,需要時從數據庫獲取訂單。我們可以將這個模型單獨列出,所有有關數據庫的操作只限制在該模型中。 (2)視圖(View)層 視圖即為用戶交互界面。對于Web應用來說,可以是HTML界面,也有可能是XHTML、XML和Applet界面。隨著應用復雜程度和規(guī)模的提升,界面的處理也變得越來越有挑戰(zhàn)性。一個應用可能有很多不同的視圖,MVC僅限于視圖上數據的采集、處理以及用戶的請求,而不包括視圖上業(yè)務流程的處理。業(yè)務流程交由模型(Model)處理。比如一個訂單的視圖只接受來自模型的數據并進行顯示,以及將用戶界面的輸入數據和請求傳遞給控制器和模型。 (3)控制器(Controller)層 控制器主要負責從用戶接收請求,并將模型與視圖整合在一起,共同完成相關任務。它像一個分發(fā)器,清楚地告訴開發(fā)者,可以選擇什么樣的模型和什么樣的視圖,完成什么樣的用戶請求??刂茖颖旧聿蛔鋈魏蔚臄祿幚?,例如用戶點擊一個鏈接,控制層接受請求后,并不處理業(yè)務信息,只是把用戶的信息傳遞給模型,告訴模型做什么,然后選擇符合要求的視圖返回給用戶。因此,一個模型可能對應多個視圖,一個視圖也可能對應多個模型。 2)MVC的優(yōu)點 MVC要求對應用分層,雖然會增加額外的工作,但產品的結構清晰,其應用通過模型可以得到更好的體現(xiàn)。具體表現(xiàn)如下: ①具有多個視圖對應一個模型的能力。在目前用戶需求快速變化的情況下,可能希望通過多種方式訪問應用。例如,訂單模型可能有本系統(tǒng)的訂單,也有網上訂單,或者其他系統(tǒng)的訂單,不管是哪種,對訂單的處理都是一樣的,也就是說訂單的處理是一致的。按MVC設計模式,一個訂單模型及多個視圖即可解決問題。這樣既減少了代碼的重復,又減少了代碼的維護量,一旦模型發(fā)生改變,也易于維護。 ②由于模型返回的數據不帶任何顯示格式,為此這些模型也可直接應用于接口。 ③由于一個應用被分離為三層,因此有時僅改變其中的一層就能滿足應用的變化需求。當應用的業(yè)務流程或者業(yè)務規(guī)則改變時只需改動MVC的模型層,其他兩層可保持不變。 ④由于控制層是把不同的模型和不同的視圖組合在一起完成不同的請求,因此,控制層可以說是包含了用戶請求權限的概念。 ⑤MVC模式有利于軟件工程化管理。由于不同的層各司其職,每一層的不同應用間具有某些相同的特征,有利于通過工程化、工具化產生管理程序代碼。 3)MVC的不足 MVC的不足體現(xiàn)在以下幾個方面: ①增加了系統(tǒng)結構和實現(xiàn)的復雜性。對于簡單的界面,如果嚴格遵循MVC模式,使模型、視圖與控制器分離,會增加結構的復雜性,并可能產生過多的更新操作,降低運行效率。 ②視圖與控制器的聯(lián)系仍過于緊密。視圖與控制器是既相互分離又確實聯(lián)系緊密的部件,沒有控制器,視圖的應用會很有限,反之亦然,這樣就妨礙了它們的獨立重用。 ③視圖對模型數據的訪問效率比較低。依據模型操作接口的不同,視圖可能需要多次調用才能獲得足夠的顯示數據。對未變化數據的不必要的頻繁訪問,也降低了操作性能。

編輯推薦

《移動開發(fā)技術叢書:iOS開發(fā)實戰(zhàn)體驗》適用于iOS初中級開發(fā)者參考用書、高等院校及社會培訓機構教材、自學人員學習用書。

圖書封面

圖書標簽Tags

評論、評分、閱讀與下載


    ios開發(fā)實戰(zhàn)體驗 PDF格式下載


用戶評論 (總計28條)

 
 

  •   希望可以通過IOS的開發(fā)實戰(zhàn)獲得一些經驗。
  •   這本書可是有多年ios開發(fā)經驗的人寫的,書上例子很好,推薦閱讀
  •   DEVDIV移動社區(qū)的書實用性還是不錯的
  •   其中有不少是作者的開發(fā)經驗心得。對于我們初學者會有相當的參考價值。
  •   DEVDIV的書還不錯
  •   很好,內容挺全面的。
  •   這本比較切合實際,適合初學者。
  •   封面有些磨損,估計是運送過程中有磕碰摩擦內容還沒來得及研究
  •   很適合做一本工具書
  •   未開始看
  •   噢耶
  •   接觸兩三個月IOS再來看這本書比較好
  •   今年剛出的書竟然都是ios4的東西。。。
  •   是一本開發(fā)中比較實用的書,提到了許多有用的技術,這些技術想加深,還得多研究。
  •   很不錯 主要是技術要點
  •   看了一遍,不適合新手,適合剛入門的,不過感覺國內的書沒國外的書實在
  •   看了之后覺得還可以吧,還在學習中。。。
  •   挺好的 快遞不錯 就是書有的是密封好的 有的就是散的 不知道是怎么回事 第一次買 還是滿意的
  •   還行 不錯的書
  •   總體來說還不錯!
  •   剛開始看,書比較適合新人和需要鞏固的人。東西寫的比較詳細
  •   不錯的書。。。。。。。。。。。適合初學者
  •   正再讀
  •   還在看,寫的還不錯
  •   書挺好的~~~還在看~~~
  •   不知道是出版前就是這樣還是?書中有部分代碼印刷有問題啊,例如:"boolisChecked", 本來是表達bool isChecked的意思,和起來是怎么回事???
  •   我嚴重懷疑有些是照搬網絡上的材料,代碼很多細節(jié)又不解釋清楚,簡單雖然易于初學者,但是毫無新意,不夠深入
  •   書上的很多例子都是挑選的部分代碼拿來解釋,很多變量根本不知道是哪里來的,不會IOS開發(fā)的看著會很迷茫,會的人根本不需要看這些內容。
 

250萬本中文圖書簡介、評論、評分,PDF格式免費下載。 第一圖書網 手機版

京ICP備13047387號-7