
在開發(fā)過程中,必然會遇到的需求就是多環(huán)境配置 。比如我們平時的開發(fā)環(huán)境/測試環(huán)境/預(yù)發(fā)布環(huán)境/正式環(huán)境等等。不同的環(huán)境一般會有不同的接口地址等等...
KVC是我們在開發(fā)過程中經(jīng)常會用到的東西,但是很多時候,只是使用,不求甚解。那么我們今天來探索一下 -- KVC 什么是KVC? KVC全稱是K...
在我們開始接觸到runtime之后,我們經(jīng)常能見到Method-Swizzling這個被稱作 黑魔法 的東西,那么到底什么是Method-Swi...
引子 在我們之前探索dyld流程時,我們發(fā)現(xiàn)其實dyld和objc_init()之間是存在聯(lián)系的。 iOS底層探索 -- dyld 流程分析[h...
前言 之前,我們研究了很多關(guān)于iOS底層相對零碎的知識。而iOS對用戶來說,最重要的就是每一個APP。今天,我們來研究一下APP的啟動入口。 首...
上一期在objc_msgSend()的慢速查找 lookUpImpOrForward流程中如果一直沒有找到方法,那流程會走向resolveMet...
上一期中,我們研究了objc_msgSend()中的快速查找流程,在流程最后除了命中緩存的CacheHit以外,會轉(zhuǎn)入CheckMiss或者Ju...
引子:我們在很早時候就聽過OC是一個運行時語言,那么什么是運行時? 引入兩個概念,編譯時 和 運行時 編譯時 :顧名思義就是正在編譯的時候 . ...
在我們探索class的底層時,我們追蹤到objc_class的源碼,其中重要結(jié)構(gòu)為 可以看出四個最重要的模塊 isa (注釋掉并不是說沒有,只是...