整理一下自己學(xué)到的知識(shí)堤框,方便以后查看 1.向nil對(duì)象發(fā)送消息,為什么不會(huì)崩潰 每個(gè)想法在運(yùn)行時(shí),都會(huì)被動(dòng)態(tài)轉(zhuǎn)為消息發(fā)送蜈抓,即ojbc_msgSend(receiver,sel...
整理一下自己學(xué)到的知識(shí)启绰,方便以后查看 runloop 和線程的關(guān)系: 主線程的run loop默認(rèn)是啟動(dòng)的。 iOS的應(yīng)用程序里面沟使,程序啟動(dòng)后會(huì)有一個(gè)如下的main()函數(shù) ...
整理一下自己學(xué)到的知識(shí)委可,方便以后查看 不手動(dòng)指定autoreleasepool的前提下,一個(gè)autorealese對(duì)象在什么時(shí)刻釋放腊嗡?(比如在一個(gè)vc的viewDidLoad...
整理一下自己學(xué)到的知識(shí)着倾,方便以后查看 使用block時(shí)什么情況會(huì)發(fā)生引用循環(huán),如何解決叽唱? 一個(gè)對(duì)象中強(qiáng)引用了block屈呕,在block中又使用了該對(duì)象微宝,就會(huì)發(fā)射循環(huán)引用棺亭。 解決...
整理一下自己學(xué)到的知識(shí),方便以后查看 常規(guī)屬性描述 1.NSString蟋软、NSArray镶摘、NSDictionary 等等經(jīng)常使用copy關(guān)鍵字,是因?yàn)樗麄冇袑?duì)應(yīng)的可變類型:N...
+ (void)load{
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
[LGRuntimeTool lg_bestMethodSwizzlingWithClass:self oriSEL:@selector(helloword) swizzledSEL:@selector(lg_studentInstanceMethod)];
});
}
這塊也有點(diǎn)問(wèn)題 load本身是線程安全的,沒(méi)必要寫dispatch_once了
iOS底層原理 16 :底層面試題1. 主類的方法和分類的方法重名,會(huì)如何調(diào)用谨究? 如果重名的是+load方法恩袱,則先執(zhí)行父類的load方法 ,其次主類的load方法胶哲,最后執(zhí)行分類的load方法 如果重名的是+i...
"如果重名的是其他普通方法畔塔,則分類方法會(huì)覆蓋主類方法" 其實(shí)不是覆蓋,是先找到后編譯的方法了 就不執(zhí)行先編譯的方法,理解成switch case判斷吧 第一個(gè)case就return imp了.
iOS底層原理 16 :底層面試題1. 主類的方法和分類的方法重名,會(huì)如何調(diào)用? 如果重名的是+load方法俩檬,則先執(zhí)行父類的load方法 萎胰,其次主類的load方法,最后執(zhí)行分類的load方法 如果重名的是+i...