項目背景 題庫作為闊知學(xué)堂和ES企培的核心業(yè)務(wù)功能的一部分,承擔考試、練習(xí)和作業(yè)等形式的答題模塊,學(xué)員使用頻率較多,是有著重要價值的部分。但是題...
__block修飾符的內(nèi)存管理 當block在棧上時,并不會對__block變量產(chǎn)生強引用 當__block修飾指針變量時,會在成的__Bloc...
block的類型 block有3種類型,可以通過調(diào)用class方法或者isa指針查看具體類型,最終都是繼承自NSBlock類型 __NSGlob...
block的變量捕獲(capture) 為了保證block內(nèi)部能夠正常訪問外部的變量,block有個變量捕獲機制 當block發(fā)生值捕獲時,底層...
Block的本質(zhì) block本質(zhì)上也是一個OC對象,它內(nèi)部也有個isa指針 以上OC代碼生成的C++代碼為: 其中的生成的C++結(jié)構(gòu)體分別是: ...
KVO 是 Objective-C 對觀察者模式的實現(xiàn)。也是 Cocoa Binding 的基礎(chǔ)。當被觀察對象的某個屬性發(fā)生更改時,觀察者對象會...
一個objc對象如何進行內(nèi)存布局? 所有父類的成員變量和自己的成員變量都會存放在該對象所對應(yīng)的存儲空間中. 根對象就是NSObject,它的su...
OC中的Category(三) OC中+initialize函數(shù)加載和調(diào)用 OC對象是在查找方法時判斷自己有沒有初始化,如果沒有就會調(diào)用初始化方...
OC中的Category(二) +load函數(shù)加載和調(diào)用 +load方法會在runtime加載類、分類時調(diào)用 每個類、分類的+load,在程序運...