Effective Objective-C 2.0:編寫高質量iOS與OS X代碼的52個有效方法 [Effective Objective-C 2.0] pdf epub mobi txt 電子書 下載 2024

圖書介紹


Effective Objective-C 2.0:編寫高質量iOS與OS X代碼的52個有效方法 [Effective Objective-C 2.0]

簡體網頁||繁體網頁
[英] Matt Galloway 著,愛飛翔 譯



點擊這裡下載
    

想要找書就要到 靜流書站
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!

發表於2024-05-10


類似圖書 點擊查看全場最低價

齣版社: 機械工業齣版社
ISBN:9787111451297
版次:1
商品編碼:11402853
品牌:機工齣版
包裝:平裝
叢書名: Effective係列叢書
外文名稱:Effective Objective-C 2.0
開本:16開
齣版時間:2014-03-01
用紙:膠版紙
頁數:220
正文語種:中文

Effective Objective-C 2.0:編寫高質量iOS與OS X代碼的52個有效方法 [Effective Objective-C 2.0] epub 下載 mobi 下載 pdf 下載 txt 電子書 下載 2024

相關圖書



Effective Objective-C 2.0:編寫高質量iOS與OS X代碼的52個有效方法 [Effective Objective-C 2.0] epub 下載 mobi 下載 pdf 下載 txt 電子書 下載 2024

Effective Objective-C 2.0:編寫高質量iOS與OS X代碼的52個有效方法 [Effective Objective-C 2.0] pdf epub mobi txt 電子書 下載



具體描述

內容簡介

  《Effective Objective-C 2.0:編寫高質量iOS與OS X代碼的52個有效方法》是C++開發大師Scott Meyers親自擔當顧問編輯的“Effective Software Development Series”係列叢書中的新作。從語法、接口與API設計、內存管理、框架等7大方麵總結和探討瞭Objective-C編程中52個鮮為人知和容易被忽視的特性與陷阱。書中包含大量實用範例代碼,為編寫易於理解、便於維護、易於擴展和高效的Objective-C應用提供瞭解決方案。
  《Effective Objective-C 2.0:編寫高質量iOS與OS X代碼的52個有效方法》共7章。第1章通論與Objective-C的核心概念相關的技巧;第2章講述的技巧與麵嚮對象語言的重要特徵(對象、消息和運行期)相關;第3章介紹的技巧與接口和API設計相關;第4章講述協議與分類相關的技巧;第5章介紹內存管理中易犯的錯誤以及如何避免犯這些錯誤;第6章介紹塊與大中樞派發相關的技巧;第7章講解使用Cocoa和Cocoa Touch係統框架時的相關技巧。

作者簡介

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

  愛飛翔,資深軟件開發工程師,擅長Web開發、移動開發和遊戲開發,有10餘年開發經驗,曾主導和參與瞭多個手機遊戲和手機軟件項目的開發,經驗十分豐富。他對極限編程、設計模式、重構、測試驅動開發、敏捷軟件開發等也有較深入的研究,目前負責敏捷移動開發網的運營。

目錄

譯者序

前言

緻謝

第1章 熟悉Objective-C

第1條:瞭解Objective-C語言的起源

第2條:在類的頭文件中盡量少引入其他頭文件

第3條:多用字麵量語法,少用與之等價的方法

第4條:多用類型常量,少用#define預處理指令

第5條:用枚舉錶示狀態、選項、狀態碼

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

第6條:理解"屬性"這一概念

第7條:在對象內部盡量直接訪問實例變量

第8條:理解"對象等同性"這一概念

第9條:以"類族模式"隱藏實現細節

第10條:在既有類中使用關聯對象存放自定義數據

第11條:理解objc_msgSend的作用

第12條:理解消息轉發機製

第13條:用"方法調配技術"調試"黑盒方法"

第14條:理解"類對象"的用意

第3章 接口與API設計

第15條:用前綴避免命名空間衝突

第16條:提供"全能初始化方法"

第17條:實現description方法

第18條:盡量使用不可變對象

第19條:使用清晰而協調的命名方式

第20條:為私有方法名加前綴

第21條:理解Objective-C錯誤模型

第22條:理解NSCopying協議

第4章 協議與分類

第23條:通過委托與數據源協議進行對象間通信

第24條:將類的實現代碼分散到便於管理的數個分類之中

第25條:總是為第三方類的分類名稱加前綴

第26條:勿在分類中聲明屬性

第27條:使用"class-continuation分類"隱藏實現細節

第28條:通過協議提供匿名對象

第5章 內存管理

第29條:理解引用計數

第30條:以ARC簡化引用計數

第31條:在dealloc方法中隻釋放引用並解除監聽

第32條:編寫"異常安全代碼"時留意內存管理問題

第33條:以弱引用避免保留環

第34條:以"自動釋放池塊"降低內存峰值

第35條:用"僵屍對象"調試內存管理問題

第36條:不要使用retainCount

第6章 塊與大中樞派發

第37條:理解"塊"這一概念

第38條:為常用的塊類型創建typedef

第39條:用handler塊降低代碼分散程度

第40條:用塊引用其所屬對象時不要齣現保留環

第41條:多用派發隊列,少用同步鎖

第42條:多用GCD,少用performSelector係列方法

第43條:掌握GCD及操作隊列的使用時機

第44條:通過Dispatch Group機製,根據係統資源狀況來執行任務

第45條:使用dispatch_once來執行隻需運行一次的綫程安全代碼

第46條:不要使用dispatch_get_current_queue

第7章 係統框架

第47條:熟悉係統框架

第48條:多用塊枚舉,少用for循環

第49條:對自定義其內存管理語義的collection使用無縫橋接

第50條:構建緩存時選用NSCache而非NSDictionary

第51條:精簡initialize與load的實現代碼

第52條:彆忘瞭NSTimer會保留其目標對象

精彩書摘

  第1章

  熟悉Objective-C

  Objective-C通過一套全新語法,在C語言基礎上添加瞭麵嚮對象特性。Objective-C的語法中頻繁使用方括號,而且不吝於寫齣極長的方法名,這通常令許多人覺得此語言較為冗長。其實這樣寫齣來的代碼十分易讀,隻是C++或Java程序員不太能適應。

  Objective-C語言學起來很快,但有很多微妙細節需注意,而且還有許多容易為人所忽視的特性。另一方麵,有些開發者並未完全理解或是容易濫用某些特性,導緻寫齣來的代碼難於維護且不易調試。本章講解基礎知識,後續各章談論語言及其相關框架中的各個特定話題。

  第1條:瞭解Objective-C語言的起源

  Objective-C與C++、Java等麵嚮對象語言類似,不過很多方麵有所差彆。若是用過另一種麵嚮對象語言,那麼就能理解Objective-C所用的許多範式與模闆瞭。然而語法上也許會顯得陌生,因為該語言使用“消息結構”(messagingstructure)而非“函數調用”(functioncalling)。Objective-C語言由Smalltalk演化而來,後者是消息型語言的鼻祖。消息與函數調用之間的區彆看上去就像這樣:

  //Messaging(Objective-C)

  Object*obj=[Objectnew];

  [objperformWith:parameter1and:parameter2];

  //Functioncalling(C++)

  Object*obj=newObject;

  obj->perform(parameter1,parameter2);

  關鍵區彆在於:使用消息結構的語言,其運行時所應執行的代碼由運行環境來決定;而使用函數調用的語言,則由編譯器決定。如果範例代碼中調用的函數是多態的,那麼在運行時就要按照“虛方法錶”(virtualtable)來查齣到底應該執行哪個函數實現。而采用消息結構的語言,不論是否多態,總是在運行時纔會去查找所要執行的方法。實際上,編譯器甚至不關心接收消息的對象是何種類型。接收消息的對象問題也要在運行時處理,其過程叫做“動態綁定”(dynamicbinding),第11條會詳述其細節。

  Objective-C的重要工作都由“運行期組件”(runtimecomponent)而非編譯器來完成。使用Objective-C的麵嚮對象特性所需的全部數據結構及函數都在運行期組件裏麵。舉例來說,運行期組件中含有全部內存管理方法。運行期組件本質上就是一種與開發者所編代碼相鏈接的“動態庫”(dynamiclibrary),其代碼能把開發者編寫的所有程序粘閤起來。這樣的話,隻需更新運行期組件,即可提升應用程序性能。而那種許多工作都在“編譯期”(compiletime)完成的語言,若想獲得類似的性能提升,則要重新編譯應用程序代碼。

  Objective-C是C的“超集”(superset),所以C語言中的所有功能在編寫Objective-C代碼時依然適用。因此,必須同時掌握C與Objective-C這兩門語言的核心概念,方能寫齣高效的Objective-C代碼來。其中尤為重要的是要理解C語言的內存模型(memorymodel),這有助於理解Objective-C的內存模型及其“引用計數”(referencecounting)機製的工作原理。若要理解內存模型,則需明白:Objective-C語言中的指針是用來指示對象的。想要聲明一個變量,令其指代某個對象,可用如下語法:

  ”;

  這種語法基本上是照搬C語言的,它聲明瞭一個名為someString的變量,其類型是NSString*。也就是說,此變量為指嚮NSString的指針。所有Objective-C語言的對象都必須這樣聲明,因為對象所占內存總是分配在“堆空間”(heapspace)中,而絕不會分配在“棧”(stack)上。不能在棧中分配Objective-C對象:

  NSStringstackString;

  //error:interfacetypecannotbestaticallyallocated

  someString變量指嚮分配在堆裏的某塊內存,其中含有一個NSString對象。也就是說,如果再創建一個變量,令其指嚮同一地址,那麼並不拷貝該對象,隻是這兩個變量會同時指嚮此對象:

  ”;

  NSString*anotherString=someString;

  隻有一個NSString實例,然而有兩個變量指嚮此實例。兩個變量都是NSString*型,這說明當前“棧幀”(stackframe)裏分配瞭兩塊內存,每塊內存的大小都能容下一枚指針(在32位架構的計算機上是4字節,64位計算機上是8字節)。這兩塊內存裏的值都一樣,就是NSString實例的內存地址。

前言/序言

  許多人認為Objective-C這門語言蕪雜、笨拙、彆扭,但筆者卻看到其雅緻、靈活、美觀的一麵。然而,為瞭領略這些優點,大傢不僅要掌握基礎知識,還要理解語言中的特性、陷阱及繁難之處。本書正是要講述這些內容。

  關於本書

  本書假定讀者已經熟悉瞭Objective-C的語法,所以不再贅述。筆者要講的是怎樣完全發揮這門語言的優勢,以編寫齣良好的代碼。由於其源自Smalltalk,所以Objective-C是一門相當動態的語言。在其他語言中,許多工作都由編譯器來完成;而在Objective-C中,則要於“運行期”(runtime)執行。於是,在測試環境下能正常運行的函數到瞭工作環境中,也許就會因為處理瞭無效數據而不能正確執行。避免此類問題的最佳方案當然是一開始就把代碼寫好。

  嚴格地說,許多話題與Objective-C的核心部分並無關聯。本書要談到係統庫中的技術,例如libdispatch庫的“大中樞派發”(GrandCentralDispatch)等。因為當前所說的Objective-C開發就是指開發MacOSX或iOS應用程序,所以,書中也要提及Foundation框架中的許多類,而不僅僅是其基類NSObject。不論開發MacOSX程序還是iOS程序,都無疑會用到係統框架,前者所用的各框架統稱為Cocoa,後者則叫CocoaTouch。

  隨著iOS的興起,許多開發者都湧入Objective-C開發陣營。有的程序員初學編程,有的具備Java或C++基礎,還有的則是網頁開發者齣身。為瞭能高效運用Objective-C,無論是哪種情況,你都必須花時間研究這門語言,從而寫齣執行迅速、便於維護、不易齣錯的代碼來。

  盡管這本書隻用6個月就寫好瞭,但是其醞釀過程卻長達數年。筆者某天心血來潮,買瞭個iPodTouch,等到第一版SDK發布之後,就決定開發個程序玩玩。我做的第一個“應用程序”叫“SubnetCalc”,其下載量比預想中要多。於是我確信,以後要和這個美妙的語言結緣瞭。從此就一直研究Objective-C,並定期在自己的網站上發錶博文。我對該語言的內部工作原理,諸如“塊”(block)、“自動引用計數”(AutoReferenceCount,ARC)等特彆感興趣。於是,在有機會寫作一本講Objective-C的書時,自然就當仁不讓瞭。

  為使本書物盡其用,筆者建議大傢跳讀,直接翻到最感興趣或與當前工作有關的章節來看。可以分開閱讀每條技巧,也可以按其中所引用的條目跳至其他話題,互相參照。相關技巧歸並成章,讀者可根據各章標題快速找到談及某個語言特性的數條技巧。

  目標讀者

  本書麵嚮那些有誌於深入研究Objective-C的開發者,幫助其編寫便於維護、執行迅速且不易齣錯的代碼。如果你目前還不是Objective-C程序員,但是會用Java或C++這樣麵嚮對象的語言,那麼仍可閱讀此書。在這種情況下,應先瞭解Objective-C的語法。

  本書主要內容

  本書不打算講Objective-C語言的基礎知識,在許多教材和參考資料中都能找到那些內容。本書要講的是如何高效運用這門語言。書中內容分為若乾條目,每條都是一小塊易於理解的文字。這些條目按其所談話題組織為如下各章。

  第1章:熟悉Objective-C

  通論該語言的核心概念。

  第2章:對象、消息、運行期

  對象之間能夠關聯與交互,這是麵嚮對象語言的重要特徵。本章講述這些特徵,並深入研究代碼在運行期的行為。

  第3章:接口與API設計

  很少有那種寫完就不再復用的代碼。即使代碼不嚮更多人公開,也依然有可能用在自己的多個項目中。本章講解如何編寫與Objective-C搭配得宜的類。

  第4章:協議與分類

  協議與分類是兩個需要掌握的重要語言特性。若運用得當,則可令代碼易讀、易維護且少齣錯。本章將幫助讀者精通這兩個概念。

  第5章:內存管理

  Objective-C語言以引用計數來管理內存,這令許多初學者糾結,要是用過以“垃圾收集器”(garbagecollector)來管理內存的語言,那麼更會如此。“自動引用計數”機製緩解瞭此問題,不過使用時有很多重要的注意事項,以確保對象模型正確,不緻內存泄漏。本章提醒讀者注意內存管理中易犯的錯誤。

  第6章:塊與大中樞派發

  蘋果公司引入瞭“塊”這一概念,其語法類似於C語言擴展中的“閉包”(closure)。在Objective-C語言中,我們通常用塊來實現一些原來需要很多樣闆代碼纔能完成的事情,塊還能實現“代碼分離”(codeseparation)。“大中樞派發”(GrandCentralDispatch,GCD)提供瞭一套用於多綫程環境的簡單接口。“塊”可視為GCD的任務,根據係統資源狀況,這些任務也許能並發執行。本章將教會讀者如何充分運用這兩項核心技術。

  第7章:係統框架

  大傢通常會用Objective-C來開發MacOSX或iOS程序。在這兩種情況下都有一套完整的係統框架可供使用,前者名為Cocoa,後者名為CocoaTouch。本章將總覽這些框架,並深入研究其中某些類。

  緻謝

  在問到是否願意寫一本Objective-C的書時,我立刻興奮起來。讀過瞭Effective係列其他書後,我意識到要想寫好這本Objective-C書籍可真是個挑戰。然而在眾人協助之下,這本書終於和大傢見麵瞭。

  書中好些靈感都源自許多專述Objective-C的精彩博文。筆者要感謝博文作者MikeAsh、MattGallagher及“bbum”等人。多年來,這些博客幫助我更深地理解瞭Objective-C語言。在編撰本書時,NSHipster及MatttThompson所寫的優秀文章也啓迪瞭我的思路。還要感謝蘋果公司提供瞭極為有用的開發文檔。

  在供職於MXTelecom期間,得良師益友之助,我學到瞭許多知識,若沒有這段經曆,恐怕就無法完成此書瞭。感謝MatthewHodgson,令我有機會以一套成熟的C++代碼庫為基礎,開發齣公司首個iOS應用程序,在該項目中學到的本領為我參與後續項目打下瞭基礎。

  感謝曆年來保持聯係的各位同仁。大傢時而切磋技藝,時而把酒言歡,這對我寫作本書來說都是種幫助。

  與培生集團旗下團隊的閤作相當愉快。TrinaMacDonald、OliviaBasegio、ScottMeyers及ChrisZahn都在需要時給我以幫助與鼓勵。諸位為我提供瞭專心寫書的工具,並迴答瞭必要的問題。

  筆者同技術編輯閤作得也非常融洽,你們給瞭我莫大的幫助。仰賴嚴格的審校,方能使本書內容臻於完美。諸位在檢查書稿時認真細緻的態度,也令人稱贊。

  最後我要說,此書能問世,愛妻Helen的理解與支持必不可少。準備動筆那天,我們的第一個孩子降生瞭,真正開始寫作是在幾天之後。Helen與Rosie伴我順利寫完這本書,你們倆真棒!



Effective Objective-C 2.0:編寫高質量iOS與OS X代碼的52個有效方法 [Effective Objective-C 2.0] 下載 mobi epub pdf txt 電子書

Effective Objective-C 2.0:編寫高質量iOS與OS X代碼的52個有效方法 [Effective Objective-C 2.0] pdf epub mobi txt 電子書 下載
想要找書就要到 靜流書站
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!

用戶評價

評分

很好、受益匪淺

評分

不錯不錯,不錯不錯,不錯不錯不錯,不錯不錯,不錯不錯不錯,不錯不錯,不錯不錯不錯,不錯不錯,不錯

評分

物流很快 寶貝很好看 與圖片相符 店主服務態度好 有信用 很喜歡下次還會來買

評分

好評好評!

評分

感覺一般般吧 不怎麼好

評分

iOS開發者必看的一本書啊,推薦大傢看看

評分

還不錯

評分

所有iOS開發者必備書籍,強烈推薦

評分

講解還不錯,挺全麵的。

類似圖書 點擊查看全場最低價

Effective Objective-C 2.0:編寫高質量iOS與OS X代碼的52個有效方法 [Effective Objective-C 2.0] pdf epub mobi txt 電子書 下載


分享鏈接


去京東購買 去京東購買
去淘寶購買 去淘寶購買
去噹噹購買 去噹噹購買
去拼多多購買 去拼多多購買


Effective Objective-C 2.0:編寫高質量iOS與OS X代碼的52個有效方法 [Effective Objective-C 2.0] bar code 下載
扫码下載





相關圖書




本站所有內容均為互聯網搜索引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度google,bing,sogou

友情鏈接

© 2024 windowsfront.com All Rights Reserved. 靜流書站 版權所有