內容簡介
《iOS編程(第三版)》全麵細緻地講解Cocoa Touch的基礎知識,深入解讀並剖析在開發iPhone及iPad應用時可能遇到的各種問題,並揭示如何高效地使用Objective-C和Xcode順利完成iPhone及iPad應用開發之旅。主要內容有:學習Objective-C語言的細節以及麵嚮對象程序設計理念。理解Xcode工程的結構和生命周期的各個階段。瞭解Cocoa的關鍵概念,例如,類之間的聯係、接收事件以及模型-視圖-控製器架構。學會管理、繪製、組閤視圖和層,並創建動畫。熟悉視圖控製器以及它們之間的聯係,管理nib和串聯圖。深入剖析所有的基本界麵對象,例如,滾動視圖、錶格視圖和控件。探索Cocoa框架中的聲音、視頻、傳感器和地圖等功能。使用綫程和網絡等高級功能。
作者簡介
Matt Neubury博士,自1968年以來就是一名軟件開發工程師,精通OSX和iOS上的應用開發。他既是《Mac Tech》雜誌的編輯,也是TidBITS的長期特約編輯。在O‘Reilly齣版瞭的圖書有《Frontier:The Definitive Guide》、《REALbasic:The DefinitiveGuide》,以及《Apple Script: The Definitive Guide》等。
內頁插圖
目錄
前言
第一部分 語言
第1章 C語言的必備知識
第2章 麵嚮對象的編程
第3章 Objective—C語言對象與消息
第4章 Objective—C類
第5章 Objective—C實例
第二部分 集成開發環境
第6章 Xcode工程的解析
第7章 nib管理
第8章 文檔
第9章 項目的生命周期
第三部分 Cocoa
第10章 Cocoa類
第11章 Cocoa事件
第12章 訪問器和內存管理
第13章 數據通信
第四部分 視圖
第14章 視圖
第15章 繪圖
第16章 圖層
第17章 動畫
第18章 觸摸
第五部分 界麵
第19章 視圖控製器
第20章 滾動視圖
第21章 錶格視圖和集閤視圖
第22章 彈齣框和分割視圖
第23章 文本
第24章 Web視圖
第25章 控件和其他視圖
第26章 模態對話框
第六部分 框架
第27章 音頻
第28章 視頻
第29章 音樂庫
第30章 圖片庫和拍攝圖像
第31章 地址簿
第32章 日曆
第33章 郵件和消息
第34章 地圖
第35章 傳感器
第七部分 其他主題
第36章 持久性存儲
第37章 網絡基礎
第38章 綫程
第39章 撤銷
第40章 結束語
精彩書摘
一般情況下,你必須警惕具有獨特內存管理行為的Cocoa對象,這種行為通常會在文檔中明確說明。例如,UIWebView的文檔警告說:“在釋放一個已設置瞭委托的UIWebView實例前,你必須首先設置其委托屬性為nil。”而一個CAAnimation對象會保留其委托,這是個例外,如果你沒有意識到這點,則可能會導緻齣錯。
也有一些Apple文檔沒有給齣考慮特殊內存管理的任何警告,但ARC本身由於在block中使用瞭self會警告可能存在保留環。再一次提醒,weak—strong dance可能是你最好的防禦。一個執行UIPageViewController的實例方法setViewControllers:direction:animated:completion:的結束處理函數示例,編譯器將發齣警告,“Capturing‘self’ strongly in thisblock is likely to lead to a retain cycle” (偵測到此block中‘self’的強引用,可能導緻保留環)。由於使用瞭weak—strong dance,你反而獲得瞭self的弱引用。
nib加載和內存管理
在iOS中,當nib加載時,係統實例化後的頂級nib對象將被自動釋放。所以如果有人沒有保留它們,它們將很快像一團煙霧般消失。為防止這種情況的發生,有兩種主要的策略:
保留與outlet圖
形成一個內存管理圖:每個頂級對象由另一個頂級對象保留(當然,不會形成保留環),File’s Owner作為內存管理圖的開始。因此,File’s Owner代理有一個到頂層對象的outlet;當nib加載和該頂級對象被分配給實際nib所有者實例相應的實例變量(第7章)時,它就被保留下來。如果你安排的保留鏈正確,需要被保留的所有對象將都會被保留(圖12—1)。這就是加載nib時你通常會使用的策略。
……
前言/序言
iOS編程(第三版) [Programming iOS 6] 下載 mobi epub pdf txt 電子書 格式