1、什么是KVO? KVO是一種機(jī)制,他是建立在KVC[http://www.itdecent.cn/p/f88df1e81da4]的基礎(chǔ)上的...
一、前言 在啟動 app 的時候, dyld 會對動態(tài)庫進(jìn)行加載、鏈接等一系列動作,之后就會來到 libobjc.A.dylib 庫中調(diào)用 _o...
一、前言 提起 KVC,大多數(shù)的第一反應(yīng)是 setValue: forKey: 以及 setValue: forKeyPath:,這也就是我們的...
在 iOS 項(xiàng)目中,我們經(jīng)常會遇到 x[xx xx]: unrecognized selector sent to instance xxx 的...
上節(jié)我們分析了objc_msgSend的快速查找部分(匯編部分),這一節(jié)我們來分析其慢速部分,也就是c語言部分。 接下來我們通過在代碼中打斷點(diǎn)來...
在OC中,方法本質(zhì)上又是什么?我們調(diào)用一個方法的時候究竟發(fā)生了什么? 方法的本質(zhì) 我們新建一個項(xiàng)目,在main.m中實(shí)現(xiàn)入下代碼。 通過clan...
1、回顧 在程序運(yùn)行的時候,oc對象在內(nèi)存中的存儲結(jié)構(gòu)是objc_class類型的,objc_class存放著類的方法列表,屬性列表,協(xié)議列表,...
1、objc_class內(nèi)部結(jié)構(gòu) NSObject對象的數(shù)據(jù)結(jié)構(gòu)都是存儲在objc_class內(nèi)部的,即objc_class有什么,NSObje...
1.對象和類的定義 1.1 objc_object 1.2 objc_class 從源碼中我們看到objc_class繼承自objc_objec...