第六章:Block與GCD 第三十七條:理解block 1.根據(jù)block在內(nèi)存中的位置,block被分成三種類型: NSGlobalBlock 全局塊: 這種塊運(yùn)行時(shí)無需獲...
第五章:內(nèi)存管理 第二十九條:理解引用計(jì)數(shù) 理解引用計(jì)數(shù)這個(gè)可以通過《Objective-C 高級(jí)編程》這本書中的例子來理解炒嘲,比較直觀宇姚,大概如下:alloc/new/copy...
第四章:協(xié)議與分類 第二十三條:通過委托與數(shù)據(jù)源協(xié)議進(jìn)行對(duì)象間通信 這條講的也比較基礎(chǔ),就是基本的delegate夫凸,protocal使用浑劳。 有一點(diǎn)稍微說一下:當(dāng)某對(duì)象需要從另...
第十八條:盡量使用不可變對(duì)象 這條主要講盡量使用不可變的對(duì)象夭拌,也就是在對(duì)外屬性聲明的時(shí)候要盡量加上readonly修飾魔熏,默認(rèn)是readwrite,這樣一來鸽扁,在外部就只能讀取該...
第三章:接口與API設(shè)計(jì) 第十五條:用前綴避免命名空間沖突 Objective-C沒有類似其他語言那樣的命名空間機(jī)制(namespace),比如說PHP中的 這就會(huì)導(dǎo)致當(dāng)你不...
第十四條:理解“類對(duì)象”的用意 Objective-C類是由Class類型來表示的躲雅,它實(shí)際上是一個(gè)指向objc_class結(jié)構(gòu)體的指針巩那。它的定義如下: 在中能看到他的實(shí)現(xiàn): ...
第十三條:用“方法調(diào)配技術(shù)”調(diào)試“黑盒方法” 什么是Method Swizzling? 字面意思:方法調(diào)和即横,也就是方法交換噪生,其中交換的是方法的實(shí)現(xiàn)。具體點(diǎn)的來說东囚,我們用@se...
第十二條:理解消息轉(zhuǎn)發(fā)機(jī)制 話不多說,iOS開發(fā)過程中我們經(jīng)常會(huì)碰到這樣的報(bào)錯(cuò):unrecognized selector sent to instance **桨嫁,原因是我們...
第十條:在既有類中使用關(guān)聯(lián)對(duì)象存放自定義數(shù)據(jù) 這條講的是objc_setAssociatedObject和objc_getAssociatedObject,如何使用在這里就不...
第八條:理解“對(duì)象等同性”這一概念 isEqualToString 比isEqual 快份帐,因?yàn)楹笳哌€要之行額外的步驟,因?yàn)樗恢朗軝z測(cè)的對(duì)象類型废境。 NSOBject協(xié)議中有...
第二章:對(duì)象、消息噩凹、運(yùn)行期 第六條:理解“屬性”這一概念 這一條講的是屬性的基本概念巴元,以及屬性的各種修飾符,這里強(qiáng)調(diào)一下: 定義對(duì)外開放的屬性時(shí)候盡量做到暴露權(quán)限最小化驮宴,不希...
第三條:多用字面量語法,少用與之等價(jià)的方法 1.多使用字面量語法來創(chuàng)建字符串堵泽,數(shù)組,字典等迎罗。 傳統(tǒng)創(chuàng)建數(shù)組方法: 字面量: 這樣做的好處:使代碼更簡(jiǎn)潔箩退,易讀,也會(huì)避免nil問...
學(xué)習(xí)了~~
一篇文章拿下《Effective Objective-C 2.0編寫高質(zhì)量iOS與OS X代碼的52個(gè)有效方法》最近在重溫這本OC經(jīng)典之作《Effective Objective-C 2.0編寫高質(zhì)量iOS與OS X代碼的52個(gè)有效方法》戴涝,這篇文章算是重溫之后的產(chǎn)物吧,讀完這篇文章你將...
最近在重溫這本OC經(jīng)典之作《Effective Objective-C 2.0編寫高質(zhì)量iOS與OS X代碼的52個(gè)有效方法》啥刻,這篇文章算是重溫之后的產(chǎn)物吧,讀完這篇文章你將...
Effective Objective-C 2.0編寫高質(zhì)量iOS與OS X代碼的52個(gè)有效方法 第一章 熟悉Objective-C 第一條 了解Objective-C語言的...
kvo取值的順序: 1. 下面的代碼分別輸出什么? 答案:都輸出”Son” 解釋:objc中super是編譯器標(biāo)示符窗怒,并不像self一樣是一個(gè)對(duì)象映跟,遇到向super發(fā)的方法時(shí)...
kvo監(jiān)控: 原因:因?yàn)锧property默認(rèn)給該屬性生成getter和setter方法,當(dāng)getter和setter方法同時(shí)被重寫時(shí)努隙,則系統(tǒng)就不會(huì)自動(dòng)生成getter和se...
@synthesize:如果不實(shí)現(xiàn)setter和getter方法,將按照編譯器的規(guī)則自動(dòng)生成setter和getter方法. @dynamic:直接或動(dòng)態(tài)的執(zhí)行setter和...