圖書信息
iPhone程式開發基礎教程(含DVD光碟1張)
劉銘,朱舸,王佳編著ISBN 978-7-121-13816-4
2011年7月出版
定價:69.00元(含DVD光碟1張)
16開
260頁
宣傳語
要想在移動網際網路時代“錢”途無量,請從著本書開始……
內 容 簡 介
本書主要介紹了通過Xcode開發工具,在Mac OS X系統中進行iPhone應用程式的開發,意在使讀者能夠快速並且專業地開發出富有創意並且受廣大用戶喜愛的iPhone應用程式。本書內容豐富全面,通俗易懂,實戰性強,涵蓋了大部分iOS開發的基本內容。
本書每章內容的安排都遵循由易到難的學習順序,非常適合剛剛接觸iPhone應用程式開發的讀者閱讀並親自動手實踐,同時也可以作為iOS程式設計師的一本參考手冊。
推薦序
很榮幸比各位讀者早一步拜讀了本書,作為一個iOS技術愛好者,本書對我的幫助甚大,而且從中看出了作者在設計本書的大綱時確實下了不少工夫,能讓初學者非常容易地進入到iPhone開發的世界裡,從作業系統到開發工具,從SDK到Objective-C,每個章節都循序漸進地將我們引導到一個新的高度。所以,這是一本非常適合廣大iPhone開發人員學習及參考的好書!
最初的章節,為了讓大家能總體了解iPhone開發環境,作者從Mac OS X系統開始介紹,而且通過Mac系統架構與iPhone作業系統架構的對比,讓讀者在開始iPhone開發前清晰地了解到底層的東西,給我們打好了理論基礎。
接著,作者以一個簡單的Hello Apple程式並結合Xcode開發工具讓讀者輕鬆進入開發的世界。這樣的好處在於,使讀者更有興趣了解更多的技術知識,避免了一開始就來講解生硬的語法而帶來的枯燥。
隨著讀者對Mac系統的使用,逐步掌握了Xcode開發工具的特性並了解了iPhone開發的基礎知識,作者從iPhone開發的語法及語言特性入手,結合之前幾章的內容,讓讀者理解及練習起來更方便。
當掌握好基礎知識後,正如一座大樓打好地基一樣,我們開始為我們的iPhone開發技術添磚加瓦了。作者通過介紹基礎SDK中的內容及開始時常用到的技巧,讓我們逐步掌握iPhone開發的精髓,最後將全書知識融會貫通,使讀者真正掌握iPhone程式開發。
通過本書,我們完全可以學習到iPhone開發的基礎知識,打好未來成為iOS程式設計師的根基。在此我鄭重推薦給有志於從事iOS程式開發的朋友們選讀本書。
iOS開發者社區 站長 吳慧鋒
2011-6-1
前 言
我可以成為一名iPhone開發者嗎?
如果你善於學習,肯花費很多的時間和精力放在iOS應用程式的探索和實踐上面,不怕遇到困難,藉助各種渠道(Xcode幫助、書籍、論壇、部落格、朋友)找到解決問題的答案,再加上一台可以運行Snow Leopard系統的Mac台式機或者筆記本,那么成為一名優秀的iPhone開發人員就是時間的問題了。
掌握任何一門技能都不是一蹴而就的,不管你信不信,有些東西是只可意會不可言傳。如果我們努力地去實踐,從寫自己的第一個項目開始,不斷地去熟悉Xcode開發工具,學習Objective-C,掌握cocoa touch中的各種框架,抓住一個適合自己的時機,相信你一定會開發出令自己滿意讓大家驚喜的應用程式
我編寫的程式真的可以放到App Store上嗎?
答案是肯定的。因為把應用程式放到App Store上,不管是以免費的形式,還是以收費的形式,或者是以內置廣告的形式,亦或是以內置消費API的形式,所有這些都是為了一個目標——獲得利益。
當然,像憤怒的小鳥、植物大戰殭屍、夢幻水族箱這樣的神話不是任何個人或者團隊隨意就可以複製的。創意和想法是你在編寫程式之前首先需要考慮的問題,只有在你經過深思熟慮之後,清楚了自己或者這個團隊為什麼要去做這個套用、面向的人群是誰、誰有可能會付費購買這個套用等問題以後,再去考慮技術方面的事情,才會使你的開發事半功倍。
除了編寫好應用程式以外,把程式放到真實的iOS設備上進行測試也是必需的,而測試的前提就是要我們付給蘋果99美金的開發者年費。如果你對自己的套用有足夠的細心、耐心和信心的話,我想這點付出還是值得的。
這本書適合我嗎?
這本書所面向的對象是那些希望成為iOS開發人員的初學者,有簡單的Mac OS X平台使用經歷,有一定的面向對象編程經驗的話會更好。對於Objective-C、Cocoa和Apple開發工具的使用經歷並不是必需的,隨著對本書的學習,我們可以慢慢地理解和掌握。
當然,在學習iOS開發的過程中,僅僅依靠一兩本書的學習還是很不夠的。Objective-C和Cocoa提供了大量的類、函式和常量,它的語法也有些奇怪。這就需要我們在閱讀本書的同時,還要從蘋果開發幫助文檔中搜尋和學習相關的內容,這樣可以使我們的技能提高得更快。
『本書內容』
本書內容共16章。內容安排按照“從零起步,循序漸進,由淺入深”的學習順序,在每個章節中都精心安排了各種實戰操作,真正做到理論與實踐相結合。
『本書特色』
語音視頻講座
為了方便讀者學習本書內容,本書附贈光碟中提供了382分鐘視頻講座。講解細膩、層次清楚、互動性強,不但可以加深對書中內容的理解,還可以引導學習者掌握iOS開發時的一些技巧。所講視頻不僅對書中的內容進行了詳細介紹,還對相關技術進行了有效擴展,對開發中易犯的各種錯誤做出了視頻解決方案。
注重實用性
本書各個章節所講述的知識點均為開發中經常用到的內容,比如對各種應用程式模板的介紹、各種組件(TextField、Button、ImageView)的介紹、對TableView的介紹、對手勢識別的介紹等。提供的實例代碼均可以複製到實際的項目開發中去,簡單易懂。
『超值DVD光碟』
為了幫助讀者學習和使用書中的實例,本書附贈DVD光碟1張,裡面不僅包含書中所有實例項目的原始碼、素材,還提供了382分鐘實例教學視頻錄像。
『本書適用人群』
本書是一部零基礎編程圖書,非常適合以下人員閱讀:
 國中級iOS程式開發人員  編程愛好者
 想學習iOS開發的各企事業在職人員  大中專院校的教師和學生
 相關培訓機構的教師和學員
『本書作者』
本書由劉銘、朱舸、王佳編寫,編寫的過程中特別感謝劉穎、樂樂、張燕、秦瓊、李賀等人的幫助。由於作者水平有限,疏漏和不足之處在所難免,歡迎廣大讀者提出寶貴意見。
吾日三省吾身,為人謀而不忠乎,與朋友交而不信乎,傳不習乎。
祝大家讀書快樂!
劉銘
2011年5月
目 錄
第1章 iPhone開發前的準備 1
1.1 iOS概述及其系統架構 2
1.1.1 iOS的系統架構 2
1.1.2 Framework——應用程式框架 3
1.2 獲取iphone sdk 4
1.3 安裝iPhone SDK 5
1.3.1 安裝前需要了解的事情 5
1.3.2 安裝iPhone SDK 6
1.4 iPhone SDK中的各種工具 6
1.4.1 Xcode 7
1.4.2 iPhone模擬器 9
1.4.3 Interface Builder 10
1.4.4 Instruments 11
1.5 iOS的其他相關內容 11
1.5.1 各種iOS設備和所支持的iOS軟體版本 11
1.5.2 iOS設備的解析度 12
1.5.3 iOS設備的硬體配置 13
第2章 第一個應用程式:Hello Apple 14
2.1 從Xcode開始 14
2.1.1 Xcode的歡迎界面 14
2.1.2 項目模板選擇 15
2.1.3 Xcode編輯器 16
2.2 使用Interface Builder創建用戶界面 17
2.2.1 XIB檔案 17
2.2.2 Interface Builder 18
2.2.3 為用戶界面添加組件 19
2.2.4 在Xcode中修改程式代碼 23
2.3 為程式增加新的功能 24
2.4 自定義應用程式的圖示 27
2.4.1 為應用程式設定單獨的圖示 27
2.4.2 為應用程式設定一組圖示 28
2.5 自定義應用程式的啟動畫面 29
第3章 C和Objective-C基礎 31
3.1 回顧C語言 31
3.1.1 C語言的命令行程式 31
3.1.2 C語言的注釋 34
3.1.3 理解headers、import和include 34
3.1.4 define定義常量 37
3.1.5 數據類型和操作符 37
3.1.6 條件、分支和循環語句 38
3.1.7 數組和構造體 39
3.1.8 函式 40
3.1.9 printf方法 40
3.1.10 指針 41
3.1.11 指針的關聯 42
3.2 Objective-C概述 42
3.2.1 Objective-C的類 42
3.2.2 Interface與Implementation 43
3.2.3 方法的聲明與定義 45
3.2.4 分析Interface 46
3.2.5 公有、私有和受保護實例變數 46
3.2.6 理解訊息 47
3.2.7 為自己傳送訊息 48
3.2.8 嵌套 48
3.2.9 類方法和實例方法 48
3.3 Objective-C中的記憶體管理 50
3.3.1 alloc方法和init方法 50
3.3.2 使用Retain和Release管理記憶體 51
3.3.3 使用autorelease管理記憶體 54
3.4 成員對象的屬性(Properties) 56
3.4.1 retain 57
3.4.2 assign 58
3.4.3 nonatomic 58
3.5 Objective-C的數據類型類(Data Type Classes) 58
3.5.1 字元串(NSString/
NSMutableString) 59
3.5.2 數組(NSArray/NSMutable-Array) 59
3.5.3 字典(NSDictionary/NSMutable-Dictionary) 59
3.5.4 數字(NSNumber/NSDecimal-Number) 60
第4章 UIApplication和UIView 61
4.1 UIApplication和UIApplication-Delegate 61
4.1.1 創建Window-based應用程式 62
4.1.2 UIApplication 68
4.1.3 協定(Protocol) 69
4.1.4 UIApplicationDelegate 69
4.1.5 應用程式的終止 70
4.2 UIView 71
4.3 UIViewController 72
4.4 View-based 應用程式模板 72
4.5 UIViewController和UIView的生存期事件 76
第5章 常用的UIView 79
5.1 Image View和Text Field 79
5.1.1 創建我們的應用程式 79
5.1.2 搭建用戶界面 79
5.1.3 聲明IBOutlet 81
5.1.4 關聯IBAction 81
5.1.5 ImageView介紹 82
5.1.6 Text Field介紹 83
5.1.7 關聯IBOutlet 85
5.1.8 對鍵盤的進一步處理 85
5.1.9 單擊View讓虛擬鍵盤消失 87
5.2 滑塊(Slider) 88
5.3 開關、按鈕和分段控制 91
5.4 Action sheet和Alert view 94
5.5 組件的狀態 99
第6章 螢幕旋轉 100
6.1 螢幕旋轉的第一種方式——調整組件 101
6.1.1 螢幕旋轉實例 101
6.1.2 解讀 103
6.2 在旋轉時修改組件屬性 105
6.3 View之間的切換 109
第7章 Tab Bar、UINavigationController和
第7章 pageController 115
7.1 Tab Bar Application 115
7.1.1 創建Tab Bar應用程式 115
7.1.2 增加Tab Bar子項目 119
7.2 Navigation-based Application 122
7.2.1 創建Navigation-based應用程式 122
7.2.2 在Navigation中添加其他View 126
7.3 Page Control 130
第8章 Table View 135
8.1 創建Table View 135
8.1.1 簡單的Table View程式 135
8.1.2 添加表格標題和腳標信息 140
8.1.3 單元格添加圖片 140
8.1.4 選擇表格中的項目 141
8.1.5 表格中的縮進 142
8.2 表格中分組顯示項目 143
8.2.1 分組顯示項目 143
8.2.2 增加索引功能 148
8.3 Disclosures and Check Marks 149
第9章 檔案處理 152
9.1 iOS設備的檔案結構 152
9.2 在Documents、tmp和Library中存儲檔案 153
9.2.1 讀取和寫入檔案 153
9.2.2 將檔案存儲到tmp檔案夾 157
9.3 通過Property List檔案存取檔案 158
9.4 複製綁定的資源 161
第10章 SQLite 3 163
10.1 創建一個SQLite資料庫 164
10.2 使用SQLite3運算元據庫 166
10.2.1 創建可使用SQLite3的項目 166
10.2.2 打開SQLite3資料庫 167
10.2.3 增加記錄 169
10.2.4 數據查詢 171
10.2.5 變數的綁定 173
第11章 應用程式偏好設定 175
11.1 Settings Bundle 176
11.1.1 為應用程式添加偏好設定 176
11.1.2 各種設定類型 177
11.1.3 特殊的設定類型——PSChildPaneSpecifier 181
11.2 在程式中獲取偏好設定 183
11.3 在應用程式中保存偏好設定 187
第12章 動畫效果 189
12.1 使用NSTimer實現動畫 189
12.2 視覺效果動畫 193
12.3 視圖變形 194
12.3.1 位移動畫 195
12.3.2 旋轉動畫 196
12.3.3 縮放動畫 197
第13章 播放和錄製聲音 199
13.1 使用AV Foundation框架 199
13.1.1 使用AVAudioPlayer播放音頻 199
13.1.2 AVAudioPlayerDelegate協定 202
13.2 使用AVAudioRecorder錄製音頻檔案 202
第14章 視頻播放 210
14.1 使用MediaPlayer播放本地視頻檔案 210
14.2 通過HTTP播放視頻檔案 213
第15章 手勢識別 214
15.1 使用手勢識別 214
15.1.1 UITapGestureRecognizer 215
15.1.2 UIPinchGestureRecognizer 218
15.1.3 UIRotationGestureRecognizer 220
15.1.4 UIPanGestureRecognizer 221
15.1.5 UISwipeGestureRecognizer 223
15.1.6 UILongPressGesture-Recognizer 227
15.2 多點觸摸識別 229
15.2.1 檢測單點觸摸 229
15.2.2 檢測多點觸摸 232
第16章 使用Map API 237
16.1 Map Kit介紹 237
16.2 鎖定自己的位置 238
16.3 地圖上的路徑 241
16.4 添加標記 242
實戰目錄
第1章 iPhone開發前的準備 1
第2章 第一個應用程式:Hello Apple 14
第3章 C和Objective-C基礎 31
實戰:創建一個簡單的C程式 32
實戰:創建一個頭檔案 35
實戰:在項目中定義常量 37
實戰:指針的使用 41
實戰:創建Objective-C類的Interface和Implementation 43
實戰:增加sayHi方法到First類裡面。 45
實戰:增加一個類方法sayILoveApple。 49
實戰:alloc、retain、release和dealloc的重寫 53
第4章 UIApplication和UIView 61
實戰:處理應用程式的終止 70
實戰:使用View-based應用程式模板 72
實戰:體驗view生存期中的方法 77
第5章 常用的UIView 79
實戰:虛擬鍵盤消失 86
實戰:通過單擊View使虛擬鍵盤消失 87
實戰:添加Slider組件 88
實戰:在項目中添加開關、按鈕和分段控制組件 91
實戰:在項目中添加Action sheet 95
第6章 螢幕旋轉 100
實戰:螢幕旋轉的處理 101
實戰:組件自動調整大小 106
實戰:螢幕旋轉時進行view的切換 109
第7章 Tab Bar、UINavigationController和pageController 115
實戰:創建Tab Bar應用程式 115
實戰:增加Tab Bar子項目 119
實戰:創建含有導航的應用程式 122
實戰:當單擊某個聯繫人時顯示一個新的View 126
實戰:添加Page Control控制項 131
第8章 Table View 135
實戰:創建Table View應用程式 135
實戰:為表格添加標題和腳標 140
實戰:為表格中的項目添加圖片 140
實戰:對表格中的數據進行分組顯示 143
第9章 檔案處理 152
第10章 SQLite 3 163
實戰:使用Firefox SQLite Manager創建一個資料庫 164
實戰:通過程式代碼向數據表添加數據 169
實戰:在數據表中查詢記錄 171
第11章 應用程式偏好設定 175
實戰:為應用程式添加偏好設定 176
實戰:修改應用程式的偏好設定 179
實戰:增加PSChildPaneSpecifier設定 182
實戰:保存應用程式的偏好設定 187
第12章 動畫效果 189
實戰:通過NSTimer實現view的動畫效果。 189
實戰:實現位移動畫。 195
實戰:實現旋轉動畫。 196
實戰:實現縮放效果。 198
第13章 播放和錄製聲音 199
實戰:播放mp3音頻檔案。 199
實戰:使用AVAudioRecorder錄製音頻 202
第14章 視頻播放 210
實戰:使用MediaPlayer Framework播放視頻影片 210
第15章 手勢識別 214
實戰:為Image添加單擊操作的互動 215
實戰:為Image添加兩個手指的縮放操作 218
實戰:為Image添加旋轉操作 220
實戰:為Image添加拖曳操作的互動 222
實戰:添加輕劃操作的互動 223
實戰:為ImageView添加長按操作 227
實戰:單點觸摸的操作 229
實戰:多點觸摸的操作 232
實戰:通過多點觸摸實現圖片的縮放功能 233
第16章 使用Map API 237
實戰:創建含有Google地圖的應用程式。 237
實戰:在iOS設備中鎖定自己的位置 238
實戰:在衛星地圖上標記線路 241
實戰:在地圖中標記位置 243