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