iOS軟體開發兵法

iOS軟體開發兵法

《iOS軟體開發兵法》是2013年出版的圖書,作者是李雲天,羅亮,黃晨。

基本介紹

  • 書名:iOS軟體開發兵法
  • 作者:李雲天,羅亮,黃晨
  • ISBN:978-7-121-18462-8
  • 頁數:384頁
  • 定價:69.00元
  • 出版時間:2013年1月
  • 開本:16開
目錄,內容提要,前言,

目錄

第1章 彈起前奏曲:環境設定1
1.1 前期準備1
1.1.1 開發環境要求1
1.1.2 註冊為蘋果開發者1
1.2 安裝Xcode 4
1.3 相關資源5
第2章 讓舞台多姿多彩:設計第一個iPhone 界面 6
2.1 什麼是Xcode 6
2.2 創建項目7
2.3 Xcode 項目視窗10
2.3.1 工具列(Toolbar)10
2.3.2 導航區域(Navigator area)13
2.3.3 編輯區域與調試區域(Editor area/Debug area)13
2.3.4 檢查窗格(Inspector pane)14
2.4 Interface Builder 15
2.5 Hello World 經典程式16
2.6 實現視圖自動旋轉功能17
2.7 掌握更多的常用控制項20
2.8 掌握表格視圖30
2.9 實現視圖切換41
2.10 本章總結47
第3章 數學算術:計算器48
3.1 實現簡單計算器功能48
3.1.1 基本功能48
3.1.2 創建項目48
3.1.3 構建視圖50
3.1.4 實現基本功能50
3.1.5 實現存儲56
3.2 實現科學計算器58
3.2.1 實現思路58
3.2.2 創建另一個視圖控制器58
3.2.3 構建視圖58
3.2.4 旋轉切換視圖61
3.3 本章總結62
第4 章 上演第一幕:電子圖書程式63
4.1 程式結構63
4.2 知識點分析63
4.3 移動圖書資料庫結構64
4.3.1 使用命令行創建SQLite 資料庫65
4.3.2 使用客戶端軟體創建SQLite 資料庫65
4.4 創建一個iPhone 項目66
4.4.1 項目檔案介紹68
4.4.2 應用程式還需要哪些檔案71
4.5 創建另一個視圖控制器75
4.6 應用程式國際化76
4.6.1 標題的國際化76
4.6.2 文本的國際化78
4.7 在項目中引入SQLite 支持80
4.7.1 引入example_book.sqlite3 檔案80
4.7.2 操作SQLite 的類81
4.7.3 SQLiteHelper 81
4.7.4 BookDB 83
4.8 了解UIViewController 87
4.9 設計並處理第1 個視窗:圖書目錄列表88
4.9.1 初始代碼分析88
4.9.2 添加UITableView 90
4.9.3 添加視圖控制器屬性92
4.9.4 關聯IBOutlet 對象和UITableView 93
4.9.5 讀取並處理圖書目錄94
4.10 設計並處理第2 個視窗:圖書正文97
4.10.1 BookContentViewController.h 接口檔案97
4.10.2 BookContentViewController.xib 視圖檔案97
4.10.3 關聯IBOutlet 對象和控制項98
4.10.4 BookContentViewController.m 實現檔案99
4.10.5 如何顯示正文101
4.11 UITableViewDelegate 與UITableViewDataSource 102
4.12 設定程式啟動畫面103
4.13 應用程式圖示103
4.14 本章總結104
第5 章 學文識字:新華字典105
5.1 分析新華字典功能105
5.2 設計新華字典資料庫結構105
5.3 創建新華字典項目106
5.4 搜尋漢字108
5.4.1 設計視圖108
5.4.2 了解UISearchBar 111
5.4.3 實現Word 字類112
5.4.4 在資料庫中查找漢字113
5.4.5 顯示漢字介紹114
5.5 按拼音搜尋115
5.5.1 設計視圖115
5.5.2 在資料庫中查找116
5.5.3 了解UITableViewDataSource 117
5.5.4 實現代理方法117
5.5.5 控制Tab 切換117
5.6 按部首搜尋118
5.6.1 設計視圖119
5.6.2 在資料庫中查找120
5.6.3 具體實現122
5.7 按筆畫搜尋123
5.7.1 設計視圖123
5.7.2 了解多視圖程式124
5.7.3 具體實現125
5.8 本章總結128
第6 章 圖霸天下:圖片瀏覽器129
6.1 圖片瀏覽器結構129
6.2 應用程式知識點分析130
6.3 設計圖片瀏覽器資料庫結構130
6.4 創建圖片瀏覽器項目130
6.5 相冊屬性類與圖片屬性類133
6.6 引入SQLite 3 134
6.7 第1 個功能:管理相冊137
6.7.1 “添加”按鈕137
6.7.2 使用UIAlertView 添加相冊138
6.7.3 顯示相冊140
6.7.4 修改相冊143
6.7.5 刪除相冊146
6.8 第2 個功能:瀏覽相冊147
6.8.1 添加組件148
6.8.2 從系統照片庫複製圖片151
6.8.3 處理並顯示圖片153
6.8.4 刪除相冊中的圖片158
6.9 第3 個功能:查看圖片160
6.9.1 了解UIScrollView 160
6.9.2 用電子郵件傳送圖片161
6.9.3 將圖片保存到系統照片庫165
6.9.4 用幻燈片播放圖片166
6.10 本章總結169
第7 章 優勝劣汰:iTunes 歌曲排行榜170
7.1 iTunes 歌曲排行榜結構170
7.2 應用程式知識點分析170
7.3 什麼是Core Data 171
7.3.1 Core Data 基本架構172
7.3.2 託管對象(Managed Objects)和託管對象模型(Managed Object Model)176
7.3.3 基本實現177
7.4 創建iPhone 項目179
7.5 持久化存儲模型179
7.5.1 歌曲信息180
7.5.2 配置託管對象模型182
7.5.3 創建託管對象Song 182
7.6 NSOperation 與NSOperationQueue 183
7.7 NSURLConnection 184
7.8 libxml2 184
7.9 將歌曲排行榜下載到Core Data 185
7.9.1 iTunesRSSImporter 185
7.9.2 原始碼分析193
7.10 歌曲詳細信息:SongDetailViewController 195
7.11 自定義歌曲排行榜中的歌曲信息顯示197
7.12 歌曲排行榜:TopSongsViewController 199
7.12.1 TopSongsViewController.h 接口檔案200
7.12.2 TopSongsViewController.m 實現檔案200
7.12.3 NSFetchedResultsController 205
7.12.4 獲取數據205
7.12.5 顯示獲取的數據206
7.12.6 延遲載入封面圖片206
7.12.7 下載圖片207
7.12.8 ImageDownloader.h 接口檔案207
7.12.9 ImageDownloader.m 實現檔案207
7.13 AppDelegate 209
7.13.1 AppDelegate.h 接口檔案209
7.13.2 AppDelegate.m 實現檔案209
7.14 本章總結213
第8 章 智商大戰:挑戰數獨215
8.1 什麼是數獨遊戲215
8.2 編寫數獨遊戲第1 步216
8.3 遊戲選單設計218
8.4 數獨棋盤設計221
8.5 數字輸入工具設計229
8.6 輔助數字輸入設計233
8.7 遊戲結束,判斷正確性242
8.8 本章總結245
第9 章 人人愛玩:迷你連連看246
9.1 什麼是Cocos2d 246
9.2 安裝Cocos2d 246
9.3 創建Cocos2d 套用248
9.4 Cocos2d 目錄結構249
9.5 開始編寫程式250
9.5.1 main.m 250
9.5.2 預編譯前綴頭檔案251
9.5.3 AppDelegate 251
9.5.4 HelloWorldLayer 252
9.5.5 記憶體管理254
9.6 主場景遊戲選單設計254
9.7 遊戲關卡選擇259
9.8 遊戲界面設計262
9.9 核心算法:生成隨機的成對圖片267
9.10 核心算法:判斷圖片能否被消除276
9.11 遊戲時間進度條設計292
9.12 遊戲道具設計295
9.13 遊戲背景音樂與音效設定299
9.14 存儲遊戲關卡設定與用戶遊戲數據307
9.15 本章總結317
第10 章 快樂旅途:地圖、定位系統開發318
10.1 MapKit 框架318
10.2 Core Location 框架322
10.2.1 什麼是Core Location 322
10.2.2 使用Core Location 322
10.2.3 反向編碼CLGeocoder 325
10.3 地圖註解326
10.3.1 添加地圖註解327
10.3.2 長按添加地圖註解332
10.4 本章總結336
第11 章 用之不竭:iCloud 套用337
11.1 什麼是iCloud 337
11.2 iCloud 的存儲方式338
11.3 配置iCloud 套用的授權339
11.4 實例:從iCloud 上傳與下載檔案341
11.5 本章總結351
第12 章 完美謝幕:iOS 應用程式發布與管理352
12.1 註冊開發者賬號352
12.2 iOS Provisioning Portal 352
12.2.1 證書353
12.2.2 設備355
12.2.3 App ID 355
12.2.4 創建Provisioning Portal 356
12.2.5 安裝Provisioning Portal 356
12.3 發布應用程式357
12.3.1 編譯可發布應用程式357
12.3.2 iTunes Connect 360
12.4 上傳應用程式361

內容提要

本書從新手入門講起,通過多個遊戲和應用程式開發案例,向蘋果開發愛好者提供了一套縝密的iOS開發思路、流程與技巧,使讀者能快速上手,快速套用,快速獲得經濟收益。
本書共分12 章,其中第1 章講解了蘋果開發環境設定;第2 章介紹了第一個iPhone 程式開發流程,第3~7 章分別介紹了計算器、電子圖書、新華字典、圖片瀏覽器、iTunes 歌曲排行等實用的應用程式;第8 章和第9 章介紹了挑戰數獨和迷你連連看兩個熱門的遊戲程式開發,第10 章和第11 章講解了最新的地圖、定位系統的開發和iColud 套用,第12 章介紹了iOS 應用程式發布與管理。
本書的特色是將實例介紹的技術深度和超值的實用性結合在一起。隨書附送的光碟中提供了來源於真實項目的可重用商業代碼,可以讓讀者參考學習。
本書既可以作為大學教材、企業培訓教材,也可以作為蘋果技術專業參考書籍,適合大學師生、企業管理人員、開發人員、培訓機構教師和學員、IT 業界人士等參考和閱讀。

前言

“我相信,蘋果的未來將更加光明,更具創造力。我期待未來蘋果的成功,也將為此儘自己的綿薄之力。”這是賈伯斯曾在辭職信中寫到的。
雖然他已不能親力親為,但依然是我們這些熱衷於iOS 的IT 工人最好的導師,是他一生的追求和蘋果帝國所締造的輝煌牽引我們孜孜不倦地探索希望之光。
“求知若飢,虛心若愚”,這是2005 年賈伯斯在史丹福大學畢業典禮上的演講總結。正是這樣一句話讓我刻骨銘心,三日必省吾身,從而深深扎入iOS 的學習、研究、探索之路。
如今,若有所獲;但更願與眾同享,故與同事合著此書。
如果你是一個開發者,那請關注iOS 開發。
2012 年蘋果第二財季(2012 年第一季度)財報中顯示,蘋果iOS 設備累計銷量已達3.65 億部,僅第二財季蘋果就銷售了3510 萬部iPhone。蘋果套用商店(App Store)中的套用已超過60 萬個,其中有20 萬個iPad 套用。截至第二財季,蘋果已經向iOS 套用開發者分成達到了50 億美元。
iPhone 剛推出時,蘋果並沒有提供App Store,直到2008 年7 月發布了iPhone 3G(iPhoneOS 2.0.1)後才開始支持App Store。
2011 年1 月22 日,蘋果宣布App Store 迎來了它的第100 億次下載;2012 年3 月3日,蘋果宣布App Store 迎來了它的第250 億次下載。
希望你也從50 億美元中得到幾美分,希望你開發的應用程式下載數也被統計到250 億次中。如果沒有,不妨從現在開始與我一起關注、學習、研究iOS。
什麼是iOS
iOS 是由蘋果公司開發的作業系統。最初是設計給iPhone 使用的,後來陸續套用到iPod、touch、iPad 以及Apple TV 產品上。就像其基於的Mac OS X 作業系統一樣,它也是以Darwin為基礎的。原本這個系統名為“iPhone OS”,直到2010 年6 月7 日WWDC 大會上宣布改名為“iOS”。
為什麼推薦你購買本書
本書通過大量的實例,非常詳細地介紹了如何開發iOS 應用程式,從計算器套用到遊戲開發。這些例子覆蓋了iOS 的大部分特性,並展示如何控制這些特性,學會如何與其互動。我們相信,學習本書後,讀者可以開發出非常專業的iOS 應用程式。
本書的教學案例是基於iOS 5 開發的,當然也添加了一些有關iOS 6 最新功能的講解。
學習本書需要準備什麼
在開始學習本書之前,需要一些準備工作。讀者需要有一台Mac 電腦,並下載安裝Xcode(本書例子使用Xcode 4.3 進行開發),讀者可以在Xcode 自帶的iOS 模擬器中調試應用程式。如果讀者想在真實的iOS 設備中調試應用程式,還需要兩個條件。
一是註冊為iOS 開發者。讀者可以通過本書的“第12 章iOS 應用程式發布與管理”了解如何註冊。
二是有一部iPhone,或者iPad。如果開發的應用程式不涉及電話、簡訊等功能,也可以使用iPod touch 進行開發。
需要了解哪些編程知識
假定讀者已經學習了C 或者C++,或者了解了其他的程式語言,具備了一定的程式設計經驗。本書並不是iOS 套用開發語言Objective-C 的學習手冊,而是通過諸多例子,幫助讀者學習使用Objective-C 開發應用程式。因此,希望讀者在學習本書時,先熟悉Objective-C;同時對開發平台如Mac、iPhone、iPad 有基本的了解,比如使用操作等。
如果讀者不熟悉Objective-C,則可以閱讀《Objective-C 基礎教程》(作者是MarkDalrymple 和Scott Knaster,這兩人是Mac 編程開發專家。也可以到蘋果官方的iOS Developer Library 學習Objective-C,
在學習本書的過程中,我們強烈建議讀者把iOS Developer Library 收藏到瀏覽器書籤中,以便快速查看各種資料,比如技術文章、教程、實例(包括代碼下載)、類的參考手冊、開發嚮導等。
怎樣讀本書
本書主要以案例為主,讓大家快速掌握iOS 開發技術,在案例過程中穿插知識點、說明、小技巧以及示例代碼。
知識點
與程式相關的知識內容。說明對當前操作或代碼的擴展解釋,以及學習過程中容易忽視和需要注意的地方。
小技巧
介紹開發工具、運行環境等常用操作技巧。
示例代碼
使用Courier New 字型表示。如果有粗體代碼,則表示是新添加或者有修改的。
@interface WordViewController : UIViewController<UISearchBarDelegate>
{
UISearchBar *wSearchBar;
UIWebView *wWebView;
}
@property (nonatomic, retain) IBOutlet UIWebView *wWebView;
@property (nonatomic, retain) IBOutlet UISearchBar *wSearchBar;
學習過程中遇到問題,請聯繫我們一起解決
儘管我們非常努力,仍難免有小的差錯。為此,當您閱讀本書時遇到任何問題,都可以通過下面的方式聯繫我們。同樣,關於iOS 應用程式開發的技術問題,也可以與我們交流。我們時刻記著:您的支持將是我們最大的動力。
致謝
本書在編寫過程中,得到了李才應、邢富穎、陳柳岐、蘭志炎等的大力支持,一起參與編寫的同事都為此花費了大量的時間,在此表示感謝。同樣也感謝電子工業出版社胡辛征老師、葛娜、張玲等編輯和評審,沒有他們,書中的語言不可能如此的優美。最後要感謝那些為我們提出寶貴意見的朋友們。
“求知若飢,虛心若愚”—賈伯斯
感謝您選擇本書。
編 者

相關詞條

熱門詞條

聯絡我們