![240](https://cdn2.jianshu.io/assets/default_avatar/6-fd30f34c8641f6f32f5494df5d6b8f3c.jpg?imageMogr2/auto-orient/strip|imageView2/1/w/240/h/240)
Block的本質(zhì) block本質(zhì)上也是一個(gè)OC對(duì)象,它內(nèi)部也有個(gè)isa指針 block是封裝了函數(shù)調(diào)用以及函數(shù)調(diào)用環(huán)境的OC對(duì)象 block的底...
OC中做方法交換時(shí)茴晋,沒有直接使用method_exchangeImplementations,而是與class_addMethod一起使用。 那...
基本概括 OC中的方法調(diào)用其實(shí)都是轉(zhuǎn)成了objc_msgSend函數(shù)的調(diào)用回窘,給receiver(方法調(diào)用者)發(fā)送了一條消息(selector方法...
注:以下都是基于64位系統(tǒng)來闡述的 NSObject對(duì)象占用的內(nèi)存 結(jié)果: 由于NSObject底層實(shí)現(xiàn)只存儲(chǔ)了isa指針诺擅,在64位系統(tǒng)中,指針...
七大準(zhǔn)則 單一職責(zé):一個(gè)類只做一件事情 開閉原則:對(duì)修改關(guān)閉啡直,對(duì)擴(kuò)展開放 依賴倒置:依賴抽象而不依賴實(shí)現(xiàn) 里氏替換:使用基類的地方可以無縫用子類...
定義 場景 將一個(gè)需要解釋執(zhí)行的語言中的句子表示為一個(gè)抽象語法樹 一些重復(fù)出現(xiàn)的問題可以用一種簡單的語言來進(jìn)行表達(dá) 一個(gè)簡單語法需要解釋的場景 ...
定義 場景 一個(gè)對(duì)象的改變將導(dǎo)致其他一個(gè)或多個(gè)對(duì)象也發(fā)生改變 一個(gè)對(duì)象必須通知其他對(duì)象烁涌,而并不知道這些對(duì)象是誰 實(shí)現(xiàn) 1、UML圖 2酒觅、使用 創(chuàng)...
定義 場景 系統(tǒng)中對(duì)象之間存在比較復(fù)雜的引用關(guān)系 想通過一個(gè)中間類來封裝多個(gè)類的行為撮执,而又不想生成太多的子類 實(shí)現(xiàn) 以AColleague與BC...
定義 場景 某個(gè)類里面包含各種類型的元素,這個(gè)類的結(jié)構(gòu)較穩(wěn)定舷丹,不會(huì)經(jīng)常增刪不同類型的元素抒钱,而需要經(jīng)常給這些元素添加新的操作,考慮使用該設(shè)計(jì)模式颜凯。...