圖書在版編目(CIP)數據應用程序開發指南基礎篇張英鋒劉超主iPhone()\/,編濟南山東科學技術出版社.—:,2010艾思德移動技術叢書()ISBN978?7?5331?5603?9張劉移動通信攜帶電話機應用Ⅰ.i...Ⅱ.①...②...Ⅲ.——程序程序設計指南——Ⅳ.TN929.53?62中國版本圖書館數據核字第號CIP(2010)038768艾思德移動技術叢書應用程序開發指南iPhone(基礎篇)叢書主編王緒兵彭楚夫本書主編張英鋒劉超出版者:山東科學技術出版社地址濟南市玉函路號:16郵編電話:250002:(0531)82098088網址:www.lkj.com.cn電子郵件:[email protected]發行者:山東科學技術出版社地址濟南市玉函路號:16郵編電話:250002:(0531)82098071印刷者:山東新華印刷廠地址濟南市勝利大街號:56郵編電話:250001:(0531)82079112開本:787mm×1092mm1\/16印張:6.5版次:年月第版第次印刷2010411ISBN978?7?5331?5603?9定價:49.00元贈光盤一張()叢書主編王緒兵彭楚夫出版策劃高瑞東胡明本書主編張英鋒劉超本書編者安淩靖王楊楊張建文韓元濤張華青本書校閱張林劉洪峰於凡舒楊麗劉向麗王遠張黎曹詠誌侯曼劉彪內容簡介《艾思德移動技術叢書》是國內第一套原創的開發書籍,作者均是一線的iPhone軟件工程師,他們擁有豐富的項目開發經驗,完全按照國人的思路和語言來編寫,iPhone避免了翻譯書籍因譯者水平、思維方式和文化差異產生的閱讀障礙。
本書是《艾思德移動技術叢書》的一個分冊,從最基礎的語言開始,逐漸Objective?C深入地介紹軟件開發技術。書中各章均結合案例進行講解,讀者可以在實現案例iPhone的過程中逐漸掌握開發技能。隨書贈送的光盤中不僅有包含中文注釋的程序源iPhone代碼,還有豐富的課件和視頻,便於教育、培訓機構的教師開展開發教學。
PPTiPhone本書作者團隊同時開發了電子書,結合的視頻、動畫、多觸摸、重力感iPhoneiPhone應等特性,為讀者提供了更好的移動閱讀體驗,歡迎通過蘋果軟件商店購買。本書及電子書的內容均會隨著開發技術的演進,不斷地更新和升級。
iPhone讀者如果在學習中遇到問題,可以到艾思德獨立軟件開發者聯盟網站()的開發論壇,與本書作者和全國各地的開發者交www.aisidechina.comiPhoneiPhone流。
世紀年代中期開始普及的個人電腦和年代中期開始普及的基於固定平台208090的互聯網,使人類社會真正進入了信息時代,人與人的聯係更加方便,國與國之間的壁壘愈來愈少,不同的國家在貿易、資金方麵的合作越來越多,在人才、知識及信息資源方麵的交流也日益頻繁,世界各國的人們開始在一個廣泛而透明的平台上互相合作和競爭。
手機作為通話工具的應用雖然已有年的曆史了,但近幾年開始普及的手機和203G無線網絡賦予了手機新的、巨大的生命力。作為一種新興的信息終端,手機在我們今後的生活中將扮演越來越重要的角色。如果說,上個世紀年代的個人電腦和年代的8090固定互聯網掀起過改變我們生活的兩次浪潮的話,那麼新時期的由手機互聯網構成的+
移動互聯網必將掀起一次新的浪潮,它將會在更加廣泛的範圍內,以更加密切的方式影響和改變我們今後的生活。從網絡音樂、網絡新聞和搜索引擎,到商務交易方麵的網上支付、旅遊預訂、網絡炒股、網上銀行和網絡購物等等,所有這一切都可以通過手機來完成。中國互聯網絡信息中心年月日發布的《第次中國互聯網絡發展狀況統201011525計報告》顯示,我國手機網民規模在年年內增加了億,到年底已達到200911.22009億人,占整體網民的。
2.3360.8%作為移動互聯網設備的領先者,蘋果公司在年推出了革命性的科技結晶———2007。作為第一台操作便捷的觸摸屏手機,僅用了短短的兩年時間,便在智能iPhoneiPhone手機的市場上占據了領先地位,這體現為萬部手機、萬應用軟件和億5700102iTunes的使用者。摩根士丹利()的研究報告表明,和的獨特MorganStanleyiPhoneiPodtouch之處是,雖然它們的用戶隻占全球智能手機用戶的,但卻占據了全球移動網絡瀏覽17%量的和移動應用程序用戶的。年月底,手機正式登陸中國大65%50%200910iPhone陸,隨即在各地掀起熱,有的地方已經出現了俱樂部,手機玩家通iPhoneiPhoneiPhone過“網上俱樂部”和“實體俱樂部”交流手機知識和使用體驗。
iPhone內置的軟件商店是成功的重要因素,它在市麵推出的iPhoneAppStoreiPhone18個月的時間裏,就擁有了超過萬個應用程序供用戶下載,下載次數超過億次,並且101軟件的數量每年以的速度在增長。因它的透明、公開及收費的合理性,163%AppStore深受開發者及用戶的歡迎。中的軟件大部分都屬於輕小的軟件,範圍包括遊AppStore戲、音樂、學習及參考、企業管理、工作軟件等等,可以說包羅萬象。因為門框比較低,故吸引了越來越多的開發者的關注和參與。這些軟件大部分是由個人開發者或人數不多的小型開發隊伍創造而成的,很多開發者在業餘時間利用自己的技術,發揮創意,開發了這些小軟件並發布在上。許多成功的軟件為開發者帶來了相當可觀的回報,AppStore甚至創造了多達百萬美元的收入。
蘋果公司建立的良好的技術平台和完備的商業模式,吸引著眾多的追隨者,很多軟件及電信企業紛紛推出自己的“”,運作模式與蘋果公司如出一轍,如微軟的AppStore,黑莓的,穀歌的,中國移動的,諾MarketPlaceAppworldAndriodMarketMobileMarket基亞的。其他品牌的手機如三星、索尼、愛立信、等,也都宣布將推出自己的OvistoreLG“”。在這樣的大趨勢下,全球範圍的對基於移動互聯網的應用軟件的需求愈見AppStore迫切,這必將為廣大的軟件開發者提供一次難得的商機。
在這樣的大趨勢下,我們推出了《艾思德移動技術叢書》,希望能夠幫助大家快速掌握移動互聯網的開發技術,並通過自己的創意,開發出各式各樣的移動軟件;同時,我們發起了艾思德獨立軟件開發者聯盟(),目的是幫助個人開發者進www.aisidechina.com行從產品策劃、技術支持,到產品包裝、市場推廣等一係列商業活動,實現個人創業的夢想。
《艾思德移動技術叢書》包括個分冊,書名和讀者對象見本書封底。
5本書是《艾思德移動技術叢書》的一個分冊,內容分為個部分:基礎篇、語言篇、核4
心篇和擴展篇,各篇內容詳見本書目錄。
本書代碼中,新添加的代碼行采用黑體表示(如IBOutletUITextFieldpassword;),*
刪除的代碼行用刪除線表示(如;),代碼過長無法在一IBOutletUITextField*password行內顯示而轉行時使用標識,…是代碼講解編號。
???
讀者在閱讀完本書後,會對開發平台有比較全麵的了解,可以開發出完整的iPhone應用程序,但要成長為軟件工程師,還需要更多項目的鍛煉和對平iPhoneiPhoneiPhone台高級特性的深入研究。為此,請關注和閱讀《艾思德移動技術叢書》的其他分冊。
在本書編寫過程中,得到了張林、劉洪峰、於凡舒、劉向麗、侯曼、楊麗、張黎、劉彪、曹詠誌、王遠、史慶保等人的幫助,在此表示誠摯的感謝。
本書凝結了各位作者的辛勤勞動,請勿為了商業目的而抄襲、複製本書的內容。
由於編者水平所限,加之時間倉促,書中難免會有紕漏,歡迎廣大讀者批評指正。
編者第篇準備篇1
第1章iPhone開發前的準備…………………………………………………………(2)應該具備的條件………………………………………………………………1.1(2)需要掌握的知識……………………………………………………()1.1.12開發環境……………………………………………………………()1.1.22開發的特點……………………………………………………………1.2iPhone(5)開發的流程……………………………………………………………1.3iPhone(6)小結……………………………………………………………………………1.4(7)第2章開發工具介紹…………………………………………………………………(8)開發工具簡介…………………………………………………………………2.1(8)項目的創建……………………………………………………………2.2About(9)窗口……………………………………………………………………2.3Xcode(11)窗口的布局…………………………………………………………()2.3.112常用資源管理………………………………………………………()2.3.213用構建的界麵…………………………………2.4InterfaceBuilderAbout(14)添加需要的控件……………………………………………………()2.4.115在中設置控件屬性……………………………………()2.4.2Inspector17為程序添加圖標……………………………………………………()2.4.319在模擬器中運行程序………………………………………………2.5iPhone(20)常用的快捷鍵………………………………………………………………2.6(20)小結…………………………………………………………………………2.7(21)第篇語言篇2
第3章Objective?C基礎………………………………………………………………(24)簡介……………………………………………………………3.1Objective?C(24)1
創建項目……………………………………………………………………3.2(26)解析……………………………………………………………………3.3Note(29)中的麵向對象…………………………………………………3.4Objective?C(32)類的聲明……………………………………………………………()3.4.132類的實現……………………………………………………………()3.4.233用類封裝記錄…………………………………………()3.4.3NoteClass34初始化方法…………………………………………………………()3.4.438屬性…………………………………………………………………()3.4.543內存管理……………………………………………………………………3.5(46)中的內存管理………………………………………………()3.5.1iPhone46用於內存管理的方法………………………………………………()3.5.246內存管理規則………………………………………………………()3.5.351小結…………………………………………………………………………3.6(51)第4章幾個重要的Cocoa類…………………………………………………………(52)……………………………………………………………………4.1NSObject(52)……………………………………………………………………4.2NSString(53)修改…………………………………………………………()4.2.1Note54字符串的創建………………………………………………………()4.2.256字符串的使用………………………………………………………()4.2.358可變字符串…………………………………………………………()4.2.460……………………………………………………………………4.3NSArray(63)用數組組織多個記錄………………………………………………()4.3.163對象的創建………………………………………………()4.3.2NSArray66獲取指定索引處的元素…………………………………()4.3.3NSArray66…………………………………………………()4.3.4NSMutableArray67………………………………………………………………4.4NSDictionary(71)小結…………………………………………………………………………4.5(73)第5章類別和協議……………………………………………………………………(74)類別…………………………………………………………………………5.1(74)類別的聲明與實現…………………………………………………()5.1.174類別的使用…………………………………………………………()5.1.277協議…………………………………………………………………………5.2(78)深拷貝與淺拷貝……………………………………………………()5.2.179采用協議……………………………………………………………()5.2.280自定義協議…………………………………………………………()5.2.383小結…………………………………………………………………………5.3(84)2
第篇核心篇3
第6章視圖和控件……………………………………………………………………(86)視圖概述……………………………………………………………………6.1(86)視圖和窗口…………………………………………………………()6.1.186視圖的繼承…………………………………………………………()6.1.288視圖的層次結構……………………………………………………()6.1.388基本控件介紹和使用………………………………………………………6.2(89)和……………………………………………()6.2.1UILabelUIButton89………………………………………………………()6.2.2UITextField96……………………………………………………………()6.2.3UISwitch98用代碼創建按鈕控件……………………………………………()6.2.4103其他控件…………………………………………………………()6.2.5105自定義視圖…………………………………………………………………6.3(106)創建自定義視圖…………………………………………………()6.3.1106使用自定義視圖…………………………………………………()6.3.2110小結…………………………………………………………………………6.4(116)第7章視圖控製器…………………………………………………………………(117)視圖控製器概述……………………………………………………………7.1(117)單視圖控製器……………………………………………………()7.1.1117多視圖控製器……………………………………………………()7.1.2118……………………………………………………………7.2ViewController(119)構建基於的應用程序…………………………………()7.2.1Window119豐富多彩的動畫效果……………………………………………()7.2.2130………………………………………………………7.3NavigationController(135)控製器棧…………………………………………………………()7.3.1136構建應用程序…………………………………………()7.3.2NoteNav136………………………………………………………7.4TabBarController(143)概述…………………………………………()7.4.1TabBarController143構建應用程序…………………………………………()7.4.2NoteTab144………………………………………………………7.5TableViewController(148)小結…………………………………………………………………………7.6(149)第8章表視圖………………………………………………………………………(150)表視圖概述…………………………………………………………………8.1(151)表視圖簡介………………………………………………………()8.1.1151分組表和索引表…………………………………………………()8.1.21513
表視圖的結構……………………………………………………()8.1.3152和………………………()8.1.4UITableViewUITableViewController153數據源和委托……………………………………………………()8.1.5153實現一個簡單的表…………………………………………………………8.2(154)表的簡單操作………………………………………………………………8.3(157)構建項目框架……………………………………………………()8.3.1158移動表視圖單元…………………………………………………()8.3.2161刪除表視圖單元…………………………………………………()8.3.3165行的選擇處理………………………………………………………………8.4(169)公開…………………………………………………………………………8.5(171)分組表索引表和搜索功能的實現………………………………………8.6、(178)實現分組表和索引表……………………………………………()8.6.1179搜索欄和深層可變副本…………………………………………()8.6.2183實現搜索欄………………………………………………………()8.6.3184自定義表視圖單元…………………………………………………………8.7(193)可編輯的詳細窗格…………………………………………………………8.8(200)編輯自定義表視圖單元…………………………………………()8.8.1200編輯設定時間視圖………………………………………………()8.8.2202編輯設定類型視圖………………………………………………()8.8.3205編輯詳細內容視圖………………………………………………()8.8.4208修改根視圖………………………………………………………()8.8.5210表視圖的美化………………………………………………………………8.9(216)在行左側添加圖像………………………………………………()8.9.1216利用委托配置表視圖……………………………………………()8.9.2217小結………………………………………………………………………8.10(219)第9章數據持久性存儲……………………………………………………………(220)應用程序沙盒………………………………………………………………9.1(220)獲取目錄完整路徑…………………………………()9.1.1Documents221獲取目錄完整路徑…………………………………………()9.1.2tmp222文件保存策略………………………………………………………………9.2(222)使用屬性列表保存應用程序數據…………………………………………9.3(223)屬性列表序列化…………………………………………………()9.3.1223屬性列表在應用程序中的使用…………………………………()9.3.2224使用歸檔持久保存應用程序數據…………………………………………9.4(231)協議和協議………………………………()9.4.1NSCodingNSCoping232歸檔的實現與取消………………………………………………()9.4.2233歸檔在應用程序中的使用………………………………………()9.4.32344