Effective Objective-C 2.0

Effective Objective-C 2.0

《Effective Objective-C 2.0:編寫高質量iOSOS X代碼的52個有效方法》是世界級C++開發大師scott meyers親自擔當顧問編輯的“effective software development series”系列叢書中的新作。從語法、接口與api設計、記憶體管理、框架等7大方面總結和探討了Objective-C編程中52個鮮為人知和容易被忽視的特性與陷阱。書中包含大量實用範例代碼,為編寫易於理解、便於維護、易於擴展和高效的Objective-C套用提供了解決方案。

基本介紹

  • 書名:Effective Objective-C 2.0
  • 作者:Matt Galloway
  • 原版名稱:Effective Objective-C 2.0: 52 Specific Ways to Improve Your iOS and OS X Programs
  • 譯者:愛飛翔
  • ISBN:9787111451297
  • 頁數:220
  • 定價:69.00
  • 出版社機械工業出版社
  • 出版時間:2014-01
  • 裝幀:平裝
內容簡介,目錄,譯者序,前言,致謝,第1章 熟悉Objective-C,第2章 對象、訊息、運行期,第3章 接口與api設計,第4章 協定與分類,第5章 記憶體管理,第6章 塊與大中樞派發,第7章 系統框架,作者簡介,

內容簡介

全書共7章。第1章通論與Objective-C的核心概念相關的技巧;第2章講述的技巧與面向對象語言的重要特徵(對象、訊息和運行期)相關;第3章介紹的技巧與接口和api設計相關;第4章講述協定與分類相關的技巧;第5章介紹記憶體管理中易犯的錯誤以及如何避免犯這些錯誤;第6章介紹塊與大中樞派發相關的技巧;第7章講解使用Cocoa和Cocoa touch系統框架時的相關技巧。

目錄

譯者序

前言

致謝

第1章 熟悉Objective-C

第1條:了解Objective-C語言的起源 1
第2條:在類的頭檔案中儘量少引入其他頭檔案 4
第3條:多用字面量語法,少用與之等價的方法 7
第4條:多用類型常量,少用#define預處理指令 11
第5條:用枚舉表示狀態、選項、狀態碼 14

第2章 對象、訊息、運行期

第6條:理解“屬性”這一概念 21
第7條:在對象內部儘量直接訪問實例變數 28
第8條:理解“對象等同性”這一概念 30
第9條:以“類族模式”隱藏實現細節 35
第10條:在既有類中使用關聯對象存放自定義數據 39
第11條:理解objc_msgSend的作用 42
第12條:理解訊息轉發機制 46
第13條:用“方法調配技術”調試“黑盒方法” 52
第14條:理解“類對象”的用意 56

第3章 接口與api設計

第15條:用前綴避免命名空間衝突 60
第16條:提供“全能初始化方法” 64
第17條:實現description方法 69
第18條:儘量使用不可變對象 73
第19條:使用清晰而協調的命名方式 78
第20條:為私有方法名加前綴 83
第21條:理解Objective-C錯誤模型 85
第22條:理解NSCopying協定 89

第4章 協定與分類

第23條:通過委託與數據源協定進行對象間通信 94
第24條:將類的實現代碼分散到便於管理的數個分類之中 101
第25條:總是為第三方類的分類名稱加前綴 104
第26條:勿在分類中聲明屬性 106
第27條:使用“class-continuation分類”隱藏實現細節 108
第28條:通過協定提供匿名對象 114

第5章 記憶體管理

第29條:理解引用計數 117
第30條:以arc簡化引用計數 122
第31條:在dealloc方法中只釋放引用並解除監聽 130
第32條:編寫“異常安全代碼”時留意記憶體管理問題 132
第33條:以弱引用避免保留環 134
第34條:以“自動釋放池塊”降低記憶體峰值 137
第35條:用“殭屍對象”調試記憶體管理問題 141
第36條:不要使用retaincount 146

第6章 塊與大中樞派發

第37條:理解“塊”這一概念 149
第38條:為常用的塊類型創建typedef 154
第39條:用handler塊降低代碼分散程度 156
第40條:用塊引用其所屬對象時不要出現保留環 162
第41條:多用派發佇列,少用同步鎖 165
第42條:多用GCD,少用performSelector系列方法 169
第43條:掌握GCD及操作佇列的使用時機 173
第44條:通過dispatch group機制,根據系統資源狀況來執行任務 175
第45條:使用dispatch_once來執行只需運行一次的執行緒安全代碼 179
第46條:不要使用dispatch_get_current_queue 180

第7章 系統框架

第47條:熟悉系統框架 185
第48條:多用塊枚舉,少用for循環 187
第49條:對自定義其記憶體管理語義的collection使用無縫橋接 193
第50條:構建快取時選用NSCache而非NSDictionary 197
第51條:精簡initialize與load的實現代碼 200
第52條:別忘了NSTimer會保留其目標對象 205

作者簡介

Matt Galloway,資深軟體開發工程師,精通移動應用程式的開發與設計,畢業於英國劍橋大學,諮詢公司Swipe Stack Ltd.的創始人。經常在Stack Overflow網站上回答與Objective-C、iOS和Mac編程相關的問題,經驗非常豐富。

相關詞條

熱門詞條

聯絡我們