蘋果的iPhone 手機除了能夠作為通訊工具外,還提供了各種型態的應用程式,使用者透過" 蘋果商店" 就能獲得這些應用。到目前為止,蘋果的開發人員已經開發出了超過50 萬個應用程式,手機使用者下載總數超過了180 億次,蘋果的開發人員收入分成超過30億美元。
隨著iPhone 和iPad 的不斷更新,對於iPhone 應用開發人員的需求與日俱增,越來越多的軟體開發人員都加入了iPhone 應用的開發熱潮中。因此,一本關於iPhone 開發方面的從入門到精通類別的書籍對於初學iPhone 開發的人員來說無疑是雪中送炭。為此,作者撰寫了這本書,希望能為大家在開發iPhone 應用程式時提供一些幫助。
本書分為15 章,由淺入深地講解iPhone 開發的過程和方法。
第1 章: 概括地介紹iPhone 手機的發展歷史、作業系統及應用分類。
第2 章: 主要講述如何設定iPhone 的開發環境和使用Xcode 開發工具。
第3 章: iPhone 的開發模式。讓讀者了解包括MVC 模式、Target/Action 模式以及Delegation 模式。
第4 章: Objective-C 程式語言。本書的核心部分,詳細地介紹iPhone 的開發語言Objective-C 的語法知識。
第5 章: iPhone 應用程式的偵錯。介紹應用程式的中斷點偵錯和日誌等。
第6 章: iPhone 圖形介面的基礎框架。包括視圖、繪圖、網頁視圖、層和影像等內容。
第7 章: 控制器。包括視圖控制器、導覽控制器、標籤欄控制器等內容。
第8 章: 表格視圖(UITableView)。講述UITableView 的型態和方法的使用。
第9 章: iPhone 的資料儲存和處理。講述iPhone 上的資料儲存系統、XML 的解析、JSON 及多執行緒等知識。
第10 章: 通訊錄。講述開發通訊錄所需的框架及通訊錄的程式設計方法。
第11 章: 照片處理。介紹了包括照片的顯示及拍攝等內容。
第12 章: 多媒體應用。介紹了如何開發關於音訊和視訊的程式,包括播放音、視訊、錄音及對播放的控制等內容。
第13 章: 位置和地圖。關於定位的位置資訊及地圖類別的使用方法。
第14 章: ASIHTTPRequest。主要講述ASIHTTPRequest 的下載和使用,對其中的類別和主要功能作講解,最後透過實例總結全章。
第15 章: 應用程式的設定。本章對應用程式基本開發後的設定和偵錯工作詳細講解。
本書適合:
◎具備一定的C/C++ 基礎以及相關的軟體開發理論的讀者。
◎掌握了基本的物件導向程式設計思想的讀者。
◎有志於從事iPhone 開發並想要快速入門的讀者。
目錄
CHAPTER 1 iPhone手機概述
1.1 iPhone 的發展歷史
1.2 iPhone 的作業系統
1.2.1 Cocoa Touch
1.2.2 Media
1.2.3 Core Services
1.2.4 Core OS
1.3 iPhone 的應用分類
1.3.1 遊戲應用
1.3.2 電子書閱讀應用
1.3.3 購物應用
1.3.4 導航應用
1.3.5 理財應用
1.4 iPhone 應用商店
1.5 發佈應用程式
CHAPTER 2 iPhone開發環境
2.1 設定iPhone 開發環境
2.2 撰寫第一個iPhone 應用程式
2.2.1 Xcode 簡介
2.2.2 建立Xcode 專案
2.2.3 執行iPhone 模擬器
2.2.4 介面建立器(Interface Builder)
2.3 Xcode 中的說明
CHAPTER 3 iPhone開發模式
3.1 MVC 模式
3.1.1 MVC 中的模型、視圖與控制器
3.1.2 MVC 的實現
3.2 Target/Action 模式
3.3 Delegation 模式
3.4 MVC 實例
3.4.1 在interface Builder 上增加物件
3.4.2 撰寫控制器程式
3.4.3 設定Target-Action
3.5 應用的生命週期
3.5.1 main 和UIApplicationMain
3.5.2 xib 檔案
3.5.3 執行回呼方法
3.5.4 lnfo.plist 檔案
CHAPTER 4 Objective-C程式語言
4.1 程序導向的程式設計
4.2 物件導向的程式設計
4.3 Objective-C 簡介
4.4 混用C/C++ 程式設計
4.5 Objective-C 語言的基本語法介紹
4.5.1 檔案型態
4.5.2 類別的宣告
4.5.3 類別的定義
4.5.4 方法和訊息
4.5.5 資料型態
4.5.6 選擇器SEL
4.5.7 字串
4.5.8 陣列(NSArray)和集合(NSSet)
4.5.9 字典類別(NSDictionary)
4.5.10 列舉存取
4.5.11 記錄檔列印
4.6 Objective-C 的條件陳述式
4.6.1 if 敘述
4.6.2 switch 敘述
4.6.3 條件運算敘述
4.7 Objective-C 的迴圈敘述
4.7.1 for 迴圈敘述
4.7.2 while 迴圈敘述
4.7.3 do 迴圈敘述
4.8 Objective-C 的記憶體管理
4.8.1 垃圾收集器
4.8.2 參考計數(retain)
4.8.3 自動釋放池(autorelease)
4.8.4 didReceiveMemoryWarning 方法
4.8.5 記憶體洩露
4.9 @property 和@synthesize
4.10 Objective-C 的類別和協定
4.10.1 類別
4.10.2 協定
4.1 0.3 協定與委派
4.11 多事件處理實例
4.12 UIKit 框架
4.13 iPhone 撰寫程式的一般標準
CHP5 iPhone應用程式的偵錯
5.1 Debug 模式與Release 模式
5.2 查詢類別的使用詳情
5.3 記錄檔
5.4 偵錯iPhone 程式
5.4.1 程式中的錯誤
5.4.2 中斷點偵錯
5.4.3 設定全域中斷點
5.4.4 設定偵錯資訊輸出
CHP 6 iPhone圖形介面的基礎框架
6.1 視圖
6.1.1 UIView
6.1.2 Frame 和Bound
6.1.3 增加視圖實例
6.2 網頁視圖(UIWebView)
6.2.1 UIWebView
6.2.2 網頁視圖的實例
6.3 繪圖
6.3.1 顏色和字型
6.3.2 drawRect 方法
6.3.3 繪圖實例
6.3.4 CoreGraphics API
6.4 影像(UIImage)
6.4.1 UIImage
6.4.2 影像處理的方法
6.4.3 影像處理的實例
6.5 層(CALayer)
6.5.1 CALayer
6.5.2 層的處理
6.5.3 層處理的實例
CHP7控制器
7.1 UIViewController
7.1.1 建立UIViewController
7.1.2 視圖控制器中的方法
7.1.3 視圖控制器的載入過程
7.1.4 視圖控制器的移除過程
7.1.5 視圖控制器的事件處理過程
7.1.6 視圖控制器的記憶體管理
7.1.7 手機旋轉功能
7.2 UINavigationController
7.2.1 UINavigationCon troller 的建立和管理
7.2.2 UINavigationController 實例
7.2.3 UINavigationItem
7.3 UITabBarController
7.3.1 UITabBarController 的建立和管理
7.3.2 UITabBarController 實例
7.3.3 UITabBarItem
7.3.4 TabBarApplication 的水平顯示
7.4 UIToolBar
7.4.1 UIToolBar 中U IBarButtonItem 的初始化
7.4.2 UIToolBar 實例
CHP8表格視圖(UITableView)
8.1 UITableView 型態
8.2 UITableView 中的方法
8.3 UITableViewCell
8.4 自訂UITableViewCell
8.5 UITableView 實例
8.5.1 索引表實例
8.5.2 分組表格實例
8.5.3 九宮格表格視圖實例
CHP9 iPhone的資料儲存和處理
9.1 iPhone 的資料儲存
9.1.1 屬性清單(NSUserDefaults)
9.1.2 iPhone 檔案系統
9.1.3 Sqlite
9.1.4 CoreData 程式庫
9.2 XML 的解析
9.2.1 XML 的解析標準
9.2.2 libxml2
9.2.3 NSXMLParser
9.3 JSON
9.3.1 JSON 資料的結構
9.3.2 下載JSON 框架
9.3.3 JSON 實例
9.4 多執行緒和NSOperation
9.4.1 多執行緒
9.4.2 NSOperationQueue
9.4.3 多執行緒實例
CHP10 通訊錄
10.1 AddressBook 框架
10.2 AddressBookUI 框架
10.2.1 ABPeoplePickerNavigationController
10.2.2 ABPersonViewController
10.2.3 ABNewPersonViewController
10.2.4 ABUnknownPersonViewController
CHP11 照片處理
11.1 UIImagePickerController
11.2 拍攝照片
11.3 照片處理實例
CHP12 多媒體應用
12.1 音訊
12.1.1 系統音效
12.1.2 聲音播放機(AVAudioPlayer)
12.1.3 錄音
12.1 .4 存取音訊檔案
12.2 音訊操作實例
12.3 視訊
12.4 視訊操作實例
CHP13 位置和地圖
13.1 位置
13.1.1 CLLocation 類別
13.1.2 CLLocationManager 類別
13.1.3 CLHeading 類別
13.1.4 位置類別實例
13.2 地圖
13.2.1 MKMapView 類別
13.2.2 地圖的相關類別
13.2.3 地圖實例
CHP14 ASIHTTPRequest
14.1 ASIHTTPRequest 的下載和使用
14.2 ASIHTTPRequest 中的類別
14.3 ASIHTTPRequest 的主要功能
14.4 ASIHTTPRequest 實例
CHP15 應用程式的設定
15.1 應用程式的圖示
15.2 Info.plist 檔案
15.3 應用設定
15.4 本地化
15.5 應用程式的測試
CHAPTER 1 iPhone手機概述
1.1 iPhone 的發展歷史
1.2 iPhone 的作業系統
1.2.1 Cocoa Touch
1.2.2 Media
1.2.3 Core Services
1.2.4 Core OS
1.3 iPhone 的應用分類
1.3.1 遊戲應用
1.3.2 電子書閱讀應用
1.3.3 購物應用
1.3.4 導航應用
1.3.5 理財應用
1.4 iPhone 應用商店
1.5 發佈應用程式
CHAPTER 2 iPhone開發環境
2.1 設定iPhone 開發環境
2.2 撰寫第一個iPhone 應用程式
2.2.1 Xcode 簡介
2.2.2 建立Xcode 專案
2.2.3 執行iPhone 模擬器
2.2.4 介面建立器(Interface Bui...