類 分類的作用? 聲明私有方法,分解體積。分類的特點(diǎn)? 運(yùn)行時(shí)決議,可以為系統(tǒng)類添加分類分類可以添加哪些內(nèi)容?分類可以添加實(shí)例方法和類方法分類添加屬性,根據(jù)數(shù)據(jù)結(jié)構(gòu)默認(rèn)不能添...
類 分類的作用? 聲明私有方法,分解體積。分類的特點(diǎn)? 運(yùn)行時(shí)決議,可以為系統(tǒng)類添加分類分類可以添加哪些內(nèi)容?分類可以添加實(shí)例方法和類方法分類添加屬性,根據(jù)數(shù)據(jù)結(jié)構(gòu)默認(rèn)不能添...
在開發(fā)過程中,必然會遇到的需求就是多環(huán)境配置 。比如我們平時(shí)的開發(fā)環(huán)境/測試環(huán)境/預(yù)發(fā)布環(huán)境/正式環(huán)境等等。不同的環(huán)境一般會有不同的接口地址等等。 今天我們就來研究一下,如何...
KVC是我們在開發(fā)過程中經(jīng)常會用到的東西,但是很多時(shí)候,只是使用,不求甚解。那么我們今天來探索一下 -- KVC 什么是KVC? KVC全稱是Key-Value Coding...
在我們開始接觸到runtime之后,我們經(jīng)常能見到Method-Swizzling這個(gè)被稱作 黑魔法 的東西,那么到底什么是Method-Swizzling 怎么使用、使用過...
引子 在我們之前探索dyld流程時(shí),我們發(fā)現(xiàn)其實(shí)dyld和objc_init()之間是存在聯(lián)系的。 iOS底層探索 -- dyld 流程分析[https://www.jian...
前言 之前,我們研究了很多關(guān)于iOS底層相對零碎的知識。而iOS對用戶來說,最重要的就是每一個(gè)APP。今天,我們來研究一下APP的啟動(dòng)入口。 首先,我們新建一個(gè)SingleV...
上一期在objc_msgSend()的慢速查找 lookUpImpOrForward流程中如果一直沒有找到方法,那流程會走向resolveMethod_locked-> re...
上一期中,我們研究了objc_msgSend()中的快速查找流程,在流程最后除了命中緩存的CacheHit以外,會轉(zhuǎn)入CheckMiss或者JumpMiss流程 但不管是Ch...
引子:我們在很早時(shí)候就聽過OC是一個(gè)運(yùn)行時(shí)語言,那么什么是運(yùn)行時(shí)? 引入兩個(gè)概念,編譯時(shí) 和 運(yùn)行時(shí) 編譯時(shí) :顧名思義就是正在編譯的時(shí)候 . 那啥叫編譯呢?就是編譯器幫你把...
在我們探索class的底層時(shí),我們追蹤到objc_class的源碼,其中重要結(jié)構(gòu)為 可以看出四個(gè)最重要的模塊 isa (注釋掉并不是說沒有,只是提醒這里繼承了objc_obj...
isa走位圖鎮(zhèn)樓 其實(shí)在研究類或是對象的過程中,這張圖一直是貫穿整個(gè)流程的線索。 消失的類方法 在我們上次的研究中,我們打印了類的class_data_bits_t信息,同時(shí)...
??
iOS底層探索 -- 類的結(jié)構(gòu)分析之前研究了isa的本質(zhì),在研究過程中經(jīng)常會看到這張isa指針流程和類繼承的關(guān)系圖 今天我們就順著這張圖開始研究類 關(guān)于類 元類 根源類 舉例說明:FQPerson繼承于NSO...
之前研究了isa的本質(zhì),在研究過程中經(jīng)常會看到這張isa指針流程和類繼承的關(guān)系圖 今天我們就順著這張圖開始研究類 關(guān)于類 元類 根源類 舉例說明:FQPerson繼承于NSO...