看完作者寫的《RunTime詳解》感覺很受教,不過在實(shí)際中試驗(yàn)發(fā)現(xiàn)兩點(diǎn)感覺不太對(duì)的地方。
1.獲得類方法應(yīng)該是class_getClassMethod
2. class_getInstanceMethod(Class cls, SEL name) 中第一個(gè)參數(shù)應(yīng)該是類對(duì)象其本身,作者在得到這個(gè)參數(shù)是有的使用Class PersionClass = object_getClass([Person class]),有的使用[Person class],前者所得到的PersionClass實(shí)際是類對(duì)象中的isa指針,而不是類對(duì)象本身,進(jìn)而也不會(huì)得到類的實(shí)例方法。
當(dāng)obj為類對(duì)象時(shí),object_getClass(obj)返回類對(duì)象中的isa指針,即指向元類對(duì)象的指針;[obj class]返回的則是其本身。
runtime詳解公司項(xiàng)目用到一個(gè)三方開源庫,里面有個(gè)bug,不能改動(dòng)源碼,我想來想去,只能通過runtime這個(gè)萬能的手段來解決。但是runtime 并不怎么會(huì)用,怎么辦,馬上學(xué)習(xí)唄。說到r...