編輯推薦
國內一套原創的iPhone開發書籍,符閤中國人的思維習慣,大量的流程圖錶、設計圖解,助您快速掌握iPhone平颱核心原理,附贈光盤中有完整的PPT課件、程序源代碼和入門視頻教程,艾思德開發論壇的眾多會員為讀者答疑,彼此分享學習和開發經驗,《iPhone應用程序開發指南(基礎篇)》將幫您實現從移動互聯網掘得啓動資金的夢想。
內容簡介
《iPhone應用程序開發指南(基礎篇)》是國內一套原創的iPhone開發書籍,作者均是一綫的iPhone軟件工程師,他們擁有豐富的項目開發經驗,完全按照國人的思路和語言來編寫,避免瞭翻譯書籍因譯者水平、思維方式和文化差異産生的閱讀障礙。
《iPhone應用程序開發指南(基礎篇)》是《艾思德移動技術叢書》的一個分冊,從基礎的Objective-C語言開始,逐漸深入地介紹iPhone軟件開發技術。書中各章均結閤案例進行講解,讀者可以在實現案例的過程中逐漸掌握iPhone開發技能。隨書贈送的光盤中不僅有包含中文注釋的程序源代碼,還有豐富的PPT課件和視頻,便於教育、培訓機構的教師開展iPhone開發教學。
《iPhone應用程序開發指南(基礎篇)》作者團隊同時開發瞭iPhone電子書,結閤iPhone的視頻、動畫、多觸摸、重力感應等特性,為讀者提供瞭更好的移動閱讀體驗,歡迎通過蘋果軟件商店購買。《iPhone應用程序開發指南(基礎篇)》及電子書的內容均會隨著iPhone開發技術的演進,不斷地更新和升級。
作者簡介
王緒兵,中訊軟件集團股份有限公司總裁。1984年畢業於北方交通大學(現北京交通大學)計算機科學係,1987年獲碩士學位。1988~1994年在日本工作6年,1995年迴國創建中訊公司。2004年中訊公司在香港主闆市場上市,是第一傢境外上市的軟件外包企業。現公司員工已超過3000人,具有為日、美及國內知名企業提供外包軟件開發和技術服務的豐富經驗,2008年入選《福布斯》雜誌中文版2007年度“中國潛力100”企業榜。
彭楚夫,香港科教數碼集團有限公司總裁,擔任香港軟件行業協會副會長、香港中華總商會青年委員會副主席以及黑龍江省青年聯閤會副主席等多項社會職務。1989年畢業於美國波士頓大學,2004年獲IT教育碩士學位,2009年獲北京大學EMBA碩士學位。1998午創立香港科教數碼集團有限公司,緻力於開發電子類學習産品、手機及移動設備、應用軟件及平颱,已在iPhone、Android、黑莓等知名平颱上開發瞭數百款軟件。科教數碼公司是國內外多傢知名齣版社的電子齣版戰略閤作夥伴。
內頁插圖
目錄
第1篇 準備篇
第1章 iPhone開發前的準備
1.1 應該具備的條件
1.1.1 需要掌握的知識
1.1.2 開發環境
1.2 iPhone開發的特點
1.3 iPhone開發的流程
1.4 小結
第2章 開發工具介紹
2.1 開發工具簡介
2.2 About項目的創建
2.3 Xcode窗口
2.3.1 窗口的布局
2.3.2 常用資源管理
2.4 用InterfaceBuilder構建About的界麵
2.4.1 添加需要的控件
2.4.2 在Inspector中設置控件屬性
2.4.3 為程序添加圖標
2.5 在iPhone模擬器中運行程序
2.6 常用的快捷鍵
2.7 小結
第2篇 語言篇
第3章 Objective-C基礎
3.1 Object.ive-C簡介
3.2 創建項目
3.3 解析Note
3.4 0bjective-C中的麵嚮對象
3.4.1 類的聲明
3.4.2 類的實現
3.4.3 用NoteClass類封裝記錄
3.4.4 初始化方法
3.4.5 屬性
3.5 內存管理
3.5.1 iPhone中的內存管理
3.5.2 用於內存管理的方法
3.5.3 內存管理規則
3.6 小結
第4章 幾個重要的Cocoa類
4.1 NSObject
4.2 NSString
4.2.1 修改Note
4.2.2 字符串的創建
4.2.3 字符串的使用
4.2.4 可變字符串
4.3 NSArray
4.3.1 用數組組織多個記錄
4.3.2 NSArray對象的創建
4.3.3 獲取NSArray指定索引處的元素
4.3.4 NSMutableArray
4.4 NSDictionary
4.5 小結
第5章 類彆和協議
5.1 類彆
5.1.1 類彆的聲明與實現
5.1.2 類彆的使用
5.2 協議
5.2.1 深拷貝與淺拷貝
5.2.2 采用協議
5.2.3 自定義協議
5.3 小結
第3篇 核心篇
第6章 視圖和控件
6.1 視圖概述
6.1.1 視圖和窗口
6.1.2 視圖的繼承
6.1.3 視圖的層次結構
6.2 基本控件介紹和使用
6.2.1 UILabel和UIButton
6.2.2 UITextField
6.2.3 UISwitch
6.2.4 用代碼創建按鈕控件
6.2.5 其他控件
6.3 自定義視圖
6.3.1 創建自定義視圖
6.3.2 使用自定義視圖
6.4 小結
第7章 視圖控製器
7.1 視圖控製器概述
7.1.1 單視圖控製器
7.1.2 多視圖控製器
7.2 ViewController
7.2.1 構建基於Window的應用程序
7.2.2 豐富多彩的動畫效果
7.3 NavigationCOntroller
7.3.1 控製器棧:
7.3.2 構建應用程序NoteNav
7.4 FabBarController-
7.4.1 TabBarController概述
7.4.2 構建應用程序NoteTab
7.5 Table View ControUer
7.6 小結
第8章 錶視圖
8.1 錶視圖概述
8.1.1 錶視圖簡介
8.1.2 分組錶和索引錶
8.1.3 錶視圖的結構
8.1.4 UI Table View和UITable View Controller
8.1.5 數據源和委托
8.2 實現一個簡單的錶
8.3 錶的簡單操作
8.3.1 構建項目框架
8.3.2 移動錶視圖單元
8.3.3 刪除錶視圖單元
8.4 行的選擇處理
8.5 公開
8.6 分組錶、索引錶和搜索功能的實現
8.6.1 實現分組錶和索引錶
8.6.2 搜索欄和深層可變副本
8.6.3 實現搜索欄
8.7 自定義錶視圖單元
8.8 可編輯的詳細窗格
8.8.1 編輯自定義錶視圖單元
8.8.2 編輯設定時間視圖
8.8.3 編輯設定類型視圖
8.8.4 編輯詳細內容視圖
8.8.5 修改根視圖
8.9 錶視圖的美化
8.9.1 在行左側添加圖像
8.9.2 利用委托配置錶視圖
8.10 小結
第9章 數據持久性存儲
9.1 應用程序沙盒
9.1.1 獲取Documents目錄完整路徑
9.1.2 獲取tmp目錄完整路徑
9.2 文件保存策略
9.3 使用屬性列錶保存應用程序數據
9.3.1 屬性列錶序列化
9.3.2 屬性列錶在應用程序中的使用
9.4 使用歸檔持久保存應用程序數據
9.4.1 NSCoding協議和NSCopying協議
9.4.2 歸檔的實現與取消
9.4.3 歸檔在應用程序中的使用
……
第10章 用戶設置
第11章 觸摸、手勢和事件
第12章 國際化和本地化
第4篇 擴展篇
第13章 加速計
第14章 使用Core Location和Map Kit
第15章 多媒體
第16章 Bluetooth
參考文獻
前言/序言
20世紀80年代中期開始普及的個人電腦和90年代中期開始普及的基於固定平颱的互聯網,使人類社會真正進入瞭信息時代,人與人的聯係更加方便,國與國之間的壁壘愈來愈少,不同的國傢在貿易、資金方麵的閤作越來越多,在人纔、知識及信息資源方麵的交流也日益頻繁,世界各國的人們開始在一個廣泛而透明的平颱上互相閤作和競爭。
手機作為通話工具的應用雖然已有20年的曆史瞭,但近幾年開始普及的3G手機和無綫網絡賦予瞭手機新的、巨大的生命力。作為一種新興的信息終端,手機在我們今後的生活中將扮演越來越重要的角色。如果說,上個世紀80年代的個人電腦和90年代的固定互聯網掀起過改變我們生活的兩次浪潮的話,那麼新時期的由手機+互聯網構成的移動互聯網必將掀起一次新的浪潮,它將會在更加廣泛的範圍內,以更加密切的方式影響和改變我們今後的生活。從網絡音樂、網絡新聞和搜索引擎,到商務交易方麵的網上支付、旅遊預訂i網絡炒股、網上銀行和網絡購物等等,所有這一切都可以通過手機來完成。中國互聯網絡信息中心2010年1月15日發布的《第25次中國互聯網絡發展狀況統計報告》顯示,我國手機網民規模在2009年1年內增加瞭1.2億,到2009年底已達到2.33億人,占整體網民的60.8%。
作為移動互聯網設備的領先者,蘋果公司在2007年推齣瞭革命性的科技結晶——iPhone。作為第一颱操作便捷的觸摸屏手機,iPhone僅用瞭短短的兩年時間,便在智能手機的市場上占據瞭領先地位,這體現為5700萬部手機、10萬應用軟件和2億iTunes的使用者。摩根士丹利(Morgan Stanley)的研究報告錶明,iPhone和IPocd touch的獨特之處是,雖然它們的用戶隻占全球智能手機用戶的17%,但卻占據瞭全球移動網絡瀏覽量的65%和移動應用程序用戶的50%。2009年10月底,iPhone手機正式登陸中國大陸,隨即在各地掀起iPhone熱,有的地方已經齣現瞭iPhone俱樂部,iPhone手機玩傢通過“網上俱樂部”和“實體俱樂部”交流iPhone手機知識和使用體驗。
iPhone內置的軟件商店APP Store是iPhone成功的重要因素,它在市麵推齣的18個月的時間裏,就擁有瞭超過10萬個應用程序供用戶下栽,下載次數超過1億次,並且軟件的數量每年以163%的速度在增長。APP Store因它的透明、公開及收費的閤理性,深受開發者及用戶的歡迎。APP Store中的軟件大部分都屬於輕小的軟件,範圍包括遊戲、音樂、學習及參考、企業管理、工作軟件等等,可以說包羅萬象。
《iPhone應用程序開發指南(基礎篇)》 踏入移動開發新紀元,開啓你的創意之旅 在這數字浪潮席捲全球的時代,智能手機已然成為我們生活中不可或缺的延伸,而iPhone應用程序(App)更是連接現實與虛擬、信息與互動的強大橋梁。從日常通訊、娛樂消遣到專業工作、學習成長,App的觸角無處不在,深刻地改變著我們的生活方式。你是否曾被某個精心設計的App所驚艷?是否曾幻想將腦海中的奇思妙想變為觸手可及的數字體驗?又或者,你渴望掌握一項能讓你在瞬息萬變的科技領域脫穎而齣的核心技能? 《iPhone應用程序開發指南(基礎篇)》正是為你量身打造的起點。它並非一本枯燥的技術手冊,而是一扇通往iPhone App開發廣闊世界的邀請函,一份循序漸進的實踐指南。本書以紮實的基礎理論為根基,結閤豐富的實戰案例,將引領你從零開始,逐步掌握iPhone App開發的核心知識與技能,讓你從一個初學者蛻變為一名具備獨立開發能力的App創作者。 為什麼選擇iPhone App開發? iPhone作為全球最受歡迎的智能手機之一,擁有龐大的用戶基數和成熟的應用生態。蘋果App Store匯聚瞭數百萬款App,為開發者提供瞭巨大的市場機遇。掌握iPhone App開發技術,意味著你將有機會: 實現創意: 將你的獨特想法轉化為功能強大、用戶喜愛的App,解決實際問題,豐富人們的生活。 職業發展: App開發者是當今最具前景的職業之一,市場需求旺盛,薪資水平可觀。 技術賦能: 學習Swift、Objective-C等編程語言,掌握iOS SDK,深刻理解現代軟件開發流程,提升個人競爭力。 創業夢想: 擁有獨立開發App的能力,為你的創業夢想插上翅膀,創造無限可能。 本書為你準備瞭什麼? 《iPhone應用程序開發指南(基礎篇)》秉持“由淺入深,理論與實踐並重”的教學理念,為你精心設計瞭以下學習路徑: 第一部分:搭建開發環境與基礎認知 在正式踏上編碼之旅前,我們需要為自己配備好“工具箱”。本部分將詳細指導你: Mac硬件與macOS基礎: iPhone App開發離不開蘋果的開發環境。我們將介紹Mac電腦的基本操作、macOS係統的特性,以及如何為開發做好準備。 Xcode集成開發環境(IDE)詳解: Xcode是蘋果官方提供的強大開發工具,集成瞭代碼編輯器、編譯器、調試器、界麵構建器等多種功能。我們將帶你熟悉Xcode的界麵布局、項目管理、代碼編輯、構建與運行流程,讓你快速上手這個開發利器。 Swift語言入門: Swift是蘋果推齣的現代化、安全、快速的編程語言,已成為iOS開發的主流。本書將係統講解Swift的基礎語法,包括變量與常量、數據類型、運算符、控製流(條件語句、循環語句)、函數、閉包、枚舉、結構體與類等。我們將通過大量代碼示例,讓你在實踐中理解Swift的強大與優雅。 Objective-C基礎(選學): 雖然Swift是未來趨勢,但瞭解Objective-C有助於你更好地理解現有的Objective-C項目,並在特定場景下進行維護。本書將提供Objective-C的基礎語法概覽,幫助你建立初步認識。 第二部分:構建用戶界麵(UI)與交互 一個優秀的App不僅要有強大的功能,更要有直觀、美觀的用戶界麵。本部分將聚焦於如何設計和實現引人入勝的UI: Cocoa Touch框架概覽: Cocoa Touch是iOS開發的核心框架,提供瞭構建App所需的一切組件。我們將介紹其主要組成部分,如Foundation、UIKit等。 Storyboard與Interface Builder: 掌握可視化界麵設計工具是快速構建UI的關鍵。我們將詳細講解Storyboard的用法,如何拖拽UI控件(如按鈕、文本框、標簽、圖片視圖等)、設置它們的屬性和布局,以及如何使用Auto Layout來創建適應不同屏幕尺寸的自適應界麵。 視圖(View)與視圖控製器(ViewController)的概念: 理解視圖和視圖控製器在iOS App架構中的核心作用。我們將講解如何創建自定義視圖,以及視圖控製器如何管理視圖的生命周期、響應用戶事件並更新UI。 常用UI控件詳解與實踐: 深入學習各種常用UI控件的使用方法,包括: UILabel: 用於顯示文本。 UIButton: 用於響應用戶點擊事件。 UITextField/UITextView: 用於用戶輸入文本。 UIImageView: 用於顯示圖片。 UITableView/UICollectionView: 用於展示列錶或網格數據。 UIAlertController: 用於顯示警告或提示信息。 UISwitch/UISlider/UIStepper: 用於用戶交互和設置。 事件處理與手勢識彆: 學習如何響應用戶的點擊、滑動、捏閤等各種手勢,實現App的交互邏輯。 導航與多屏幕切換: 掌握UINavigationController、UITabBarController、UIViewController的模態呈現等多種方式,實現App內不同屏幕之間的流暢跳轉。 第三部分:數據管理與存儲 App的功能離不開數據的支持。本部分將教會你如何有效地管理和存儲數據: 基本數據類型與集閤類型: 迴顧Swift中的基本數據類型(Int, Double, String, Bool等)以及集閤類型(Array, Dictionary, Set)。 對象與屬性列錶(Plist): 學習如何創建自定義對象,並利用屬性列錶(Plist)進行簡單的數據持久化。 UserDefaults: 瞭解如何使用UserDefaults來存儲用戶偏好設置和小量數據。 文件係統操作: 學習如何讀寫文件,管理App的本地存儲。 Core Data基礎: 深入學習Core Data框架,這是一個強大的對象圖管理和持久化框架,能夠幫助你高效地存儲、檢索和管理結構化數據,並支持復雜的查詢和關係。 Realm數據庫(選學): 介紹Realm,一款現代化的移動數據庫,以其高性能和易用性而受到開發者青睞。 第四部分:網絡通信與API集成 現代App通常需要與服務器進行數據交互。本部分將指導你如何實現網絡通信: HTTP基礎知識: 瞭解HTTP協議的工作原理,包括請求方法(GET, POST等)、狀態碼、請求頭和響應體。 URLSession API: 學習使用URLSession框架進行網絡請求,包括數據下載、上傳以及處理網絡響應。 JSON數據解析: 掌握如何解析和生成JSON格式的數據,這是Web API中最常用的數據交換格式。 第三方API集成: 學習如何調用外部API,例如天氣API、地圖API、社交媒體API等,為你的App增加更多功能。 網絡錯誤處理與優化: 學習如何處理網絡請求中的各種錯誤,並對網絡通信進行優化,提升用戶體驗。 第五部分:高級概念與實踐技巧 在掌握瞭基礎知識後,本部分將為你拓展視野,引入一些更高級的概念和實用的開發技巧: 多綫程與並發: 理解多綫程的概念,學習使用Grand Central Dispatch (GCD)和Operation Queues來處理耗時操作,避免UI阻塞,提升App的響應速度。 內存管理: 瞭解Objective-C的Automatic Reference Counting (ARC)機製,以及Swift中的內存管理方式,避免內存泄漏。 委托(Delegate)模式與協議(Protocol): 掌握Delegate模式和Protocol在對象間通信中的應用,這是iOS開發中非常重要的設計模式。 通知中心(NotificationCenter): 學習如何使用通知機製實現App內不同組件之間的解耦通信。 調試技巧與工具: 掌握Xcode強大的調試器,學習如何設置斷點、檢查變量、分析內存使用、捕捉異常,快速定位和解決bug。 版本控製(Git): 介紹Git版本控製係統的基本概念和常用命令,幫助你規範開發流程,管理代碼曆史。 App Store發布流程概覽: 簡要介紹如何將開發好的App提交到App Store審核和發布。 本書特色: 循序漸進: 從最基礎的概念講起,逐步深入,確保每一個讀者都能跟上學習節奏。 實戰導嚮: 理論與實踐緊密結閤,每個知識點都配有清晰的代碼示例和完整的項目案例,讓你在動手實踐中鞏固所學。 語言精煉: 使用通俗易懂的語言,避免晦澀的技術術語,讓學習過程更加輕鬆愉快。 全麵覆蓋: 涵蓋瞭iPhone App開發初學者所需掌握的核心知識體係,為進一步深入學習打下堅實基礎。 附帶光盤: 配備一張光盤,內含本書所有示例項目的完整代碼、開發環境配置指南、常用開發資源鏈接等,極大地方便瞭讀者的學習和查閱。 誰適閤閱讀本書? 零基礎的編程愛好者: 對iPhone App開發充滿熱情,希望從零開始學習一門新的編程技能。 初入移動開發領域的學生: 計算機科學、軟件工程等相關專業的學生,希望將課堂知識與實際開發相結閤。 想轉型的IT從業者: Web開發、後端開發或其他領域的程序員,希望拓展技能棧,進入移動開發領域。 有創業想法的個人: 希望將自己的産品或服務通過App的形式呈現給用戶,為自己的創業項目打下基礎。 對iPhone App開發感到好奇的任何人: 想要瞭解App是如何製作的,以及掌握一項具有挑戰性和成就感的技能。 《iPhone應用程序開發指南(基礎篇)》不僅是一本書,更是你開啓iPhone App開發之旅的忠實夥伴。它將陪伴你一步步剋服睏難,解決問題,最終實現你的App開發夢想。現在,就翻開這本書,讓我們一同探索App開發的神奇世界,用你的創意點亮每一個iPhone屏幕!