1. load_images的调用时机 在objc_init中,进行完一系列配置初始化完成之后 调用_dyld_objc_notify_register方法 map_imag...
1. load_images的调用时机 在objc_init中,进行完一系列配置初始化完成之后 调用_dyld_objc_notify_register方法 map_imag...
Objc中类的初始化是从_objc_init方法开始的。该方法的结构如下图: 首先是调用的是environ_init();这个方法。 这个方法里面主要是对环境变量的配置,方法...
1. _objc_init 程序在启动时,先用dyld进行动态库的链接,做完一系列准备操作之后,会进入到_objc_init方法 下面简单了解一下主角_dyld_objc_n...
简介 oc的方法调用,在底层会通过objc_msgSend进行消息发送 依次进行缓存快速查找imp,以及类的方法列表查找之后,如果仍然没有找到目标method,那么则进入消息...
1.方法的本质 1.1 探索 在之前的文章中,我们探索了对象、类、以及isa等的本质,那么今天我们一起来分析一下方法的本质,看看OC所调用的方法究竟是什么 首先进入targe...
前言 alloc是iOS开发中为对象申请开辟内存的方法,那么alloc的底层到底做了哪些,以及alloc是如何申请并且开辟内存的,下面和大家一起探索一下alloc的具体步骤。...
1.isa本质 我们知道,oc中的一切类都继承自NSObject,直接追踪NSObject可以发现在objc/NSObject.h文件中对于该类的定义如下 或者在objc源码...
内存对齐是我们定义数据结构中一个必须要了解的知识点,内存对齐的目的在于能让系统从内存中快速的查找并且获取到我们想要获取的数据,达到空间换取时间的目的。下面简单介绍一下内存对齐...
1. cache的结构 我们之前探索过Class的结构以及其内部的成员,其中了解到了isa,superClass以及bits的作用,但是剩下的cache,我们只能基本知道,其...