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