类 分类的作用? 声明私有方法,分解体积。分类的特点? 运行时决议,可以为系统类添加分类分类可以添加哪些内容?分类可以添加实例方法和类方法分类添加属性,根据数据结构默认不能添...
类 分类的作用? 声明私有方法,分解体积。分类的特点? 运行时决议,可以为系统类添加分类分类可以添加哪些内容?分类可以添加实例方法和类方法分类添加属性,根据数据结构默认不能添...
在开发过程中,必然会遇到的需求就是多环境配置 。比如我们平时的开发环境/测试环境/预发布环境/正式环境等等。不同的环境一般会有不同的接口地址等等。 今天我们就来研究一下,如何...
KVC是我们在开发过程中经常会用到的东西,但是很多时候,只是使用,不求甚解。那么我们今天来探索一下 -- KVC 什么是KVC? KVC全称是Key-Value Coding...
在我们开始接触到runtime之后,我们经常能见到Method-Swizzling这个被称作 黑魔法 的东西,那么到底什么是Method-Swizzling 怎么使用、使用过...
引子 在我们之前探索dyld流程时,我们发现其实dyld和objc_init()之间是存在联系的。 iOS底层探索 -- dyld 流程分析[https://www.jian...
前言 之前,我们研究了很多关于iOS底层相对零碎的知识。而iOS对用户来说,最重要的就是每一个APP。今天,我们来研究一下APP的启动入口。 首先,我们新建一个SingleV...
上一期在objc_msgSend()的慢速查找 lookUpImpOrForward流程中如果一直没有找到方法,那流程会走向resolveMethod_locked-> re...
上一期中,我们研究了objc_msgSend()中的快速查找流程,在流程最后除了命中缓存的CacheHit以外,会转入CheckMiss或者JumpMiss流程 但不管是Ch...
引子:我们在很早时候就听过OC是一个运行时语言,那么什么是运行时? 引入两个概念,编译时 和 运行时 编译时 :顾名思义就是正在编译的时候 . 那啥叫编译呢?就是编译器帮你把...
在我们探索class的底层时,我们追踪到objc_class的源码,其中重要结构为 可以看出四个最重要的模块 isa (注释掉并不是说没有,只是提醒这里继承了objc_obj...
isa走位图镇楼 其实在研究类或是对象的过程中,这张图一直是贯穿整个流程的线索。 消失的类方法 在我们上次的研究中,我们打印了类的class_data_bits_t信息,同时...
😄
iOS底层探索 -- 类的结构分析之前研究了isa的本质,在研究过程中经常会看到这张isa指针流程和类继承的关系图 今天我们就顺着这张图开始研究类 关于类 元类 根源类 举例说明:FQPerson继承于NSO...
之前研究了isa的本质,在研究过程中经常会看到这张isa指针流程和类继承的关系图 今天我们就顺着这张图开始研究类 关于类 元类 根源类 举例说明:FQPerson继承于NSO...