一、Runtime的消息轉(zhuǎn)發(fā)機(jī)制
1.動(dòng)態(tài)方法解析
- 備用接受者
3.完整轉(zhuǎn)發(fā)
1.動(dòng)態(tài)方法解析
對(duì)象在接受到未知消息時(shí)蚂四,首先會(huì)調(diào)用所屬類(lèi)的類(lèi)方法+resolveInstanceMethod:或者+resolveClassMethod: ;在這個(gè)方法中哟忍,我們有機(jī)會(huì)為該未知消息新增一個(gè)“處理方法”梅屉。不過(guò)使用該方法的前提是已經(jīng)實(shí)現(xiàn)了該“處理方法”只需要在運(yùn)行時(shí)通過(guò)class_addMethod函數(shù)動(dòng)態(tài)添加到類(lèi)里面就可以了
2.備用接受者
動(dòng)態(tài)方法解析無(wú)法處理消息筐带,會(huì)走備用接受者鹅经。這個(gè)備用接受者只能是一個(gè)新的對(duì)象寂呛,不能是self本身。否則就會(huì)出現(xiàn)無(wú)限循環(huán)瘾晃。 如果我們沒(méi)有指定相應(yīng)的對(duì)象來(lái)處理aselector,則應(yīng)該條用父類(lèi)的實(shí)現(xiàn)來(lái)返回結(jié)果
二贷痪、Runloop的工作原理
https://blog.ibireme.com/2015/05/18/runloop/
這是ibireme大神寫(xiě)的,很詳細(xì)
三蹦误、內(nèi)存管理
http://www.cocoachina.com/ios/20160303/15498.html
四劫拢、KVO、delegate强胰、通知的區(qū)別
http://www.reibang.com/p/32c4e56245ac
五舱沧、iOS11的新特性
六、點(diǎn)擊應(yīng)用圖標(biāo)到啟動(dòng)應(yīng)用整個(gè)過(guò)程偶洋,系統(tǒng)進(jìn)行了什么操作
http://blog.csdn.net/shxwork/article/details/51191822
七狗唉、面試題
https://xiaozhuanlan.com/topic/3908156472
http://www.cocoachina.com/ios/20180315/22624.html