在main中的代碼如下 創(chuàng)建Tabbar文件夾,并創(chuàng)建buttom_navigator_widget文件,使用快捷鍵(stl)創(chuàng)建Statefu...
前言 應(yīng)用在運行以后,只要有觸發(fā)事件(點擊按鈕),應(yīng)用程序就會立刻做出相應(yīng)的反應(yīng),如果不對它進行操作,應(yīng)用程序就像靜止了一樣。給我們的感覺就像應(yīng)...
獲取isa指向的Class,如果person是實例對象,獲取得是類對象。如果person是類對象,獲取得是元類對象object_getClass...
Class內(nèi)部結(jié)構(gòu)中有個方法緩存(catch_t),用散列表來緩存曾經(jīng)調(diào)用過的方法,可以提高方法的查找速度。 class_ro_t和class_...
在arm64架構(gòu)之前,isa就是一個普通的指針,存儲著Class、Meta-Class對象的內(nèi)存地址。在Runtime源碼中可以看到 從arm6...
底層數(shù)據(jù)結(jié)構(gòu) 創(chuàng)建一個命令行項目,在main函數(shù)中定義一個Block并進行調(diào)用 在控制臺中輸入:xcrun -sdk iphoneos clan...
蘋果在iOS13中為iPhone引入了深色模式,所有 UIKit 本身所提供的 UI 控件(例如 UIView,UILabel,UITextVi...
KVO可以用于監(jiān)聽某個對象屬性值得改變。 _NSSet*ValueAndNotify的內(nèi)部實現(xiàn):調(diào)用willChangeValueForKey:...
為什么要動態(tài)鏈接 動態(tài)鏈接及優(yōu)點 動態(tài)鏈接思想:把程序的模塊相互分割開來,形成獨立的文件,而不再將它們靜態(tài)地鏈接在一起,等到程序運行時才進行鏈接...