在开发过程中,必然会遇到的需求就是多环境配置 。比如我们平时的开发环境/测试环境/预发布环境/正式环境等等。不同的环境一般会有不同的接口地址等等...
KVC是我们在开发过程中经常会用到的东西,但是很多时候,只是使用,不求甚解。那么我们今天来探索一下 -- KVC 什么是KVC? KVC全称是K...
在我们开始接触到runtime之后,我们经常能见到Method-Swizzling这个被称作 黑魔法 的东西,那么到底什么是Method-Swi...
引子 在我们之前探索dyld流程时,我们发现其实dyld和objc_init()之间是存在联系的。 iOS底层探索 -- dyld 流程分析[h...
前言 之前,我们研究了很多关于iOS底层相对零碎的知识。而iOS对用户来说,最重要的就是每一个APP。今天,我们来研究一下APP的启动入口。 首...
上一期在objc_msgSend()的慢速查找 lookUpImpOrForward流程中如果一直没有找到方法,那流程会走向resolveMet...
上一期中,我们研究了objc_msgSend()中的快速查找流程,在流程最后除了命中缓存的CacheHit以外,会转入CheckMiss或者Ju...
引子:我们在很早时候就听过OC是一个运行时语言,那么什么是运行时? 引入两个概念,编译时 和 运行时 编译时 :顾名思义就是正在编译的时候 . ...
在我们探索class的底层时,我们追踪到objc_class的源码,其中重要结构为 可以看出四个最重要的模块 isa (注释掉并不是说没有,只是...