240 发简信
IP属地:北京
  • 120
    类的加载(下)

    上篇文章我们了解了类的加载和分类的数据准备 这篇我们继续分析分类的加载时机以及是如何加载到类中的 当类加载时,进入到attachCategories方法中,初始化了一个倒序的...

  • 120
    类的加载(上)

    上一篇我们着重讲了dyld和objc的关联 今天继续深入了解后续的流程 上篇我们也了解到了_read_images的流程 首先继续深入了解map_images中的_read_...

  • 120
    dyld和objc关联

    上一篇我们讲述了dyld的加载流程 这篇文章我们来搞清楚dyld和objc的关联。 首先看一下objc4-781官方源码_objc_init方法 environ_init()...

  • 120
    iOS 应用程序加载流程分析

    本文的目的主要是分析dyld的加载流程 首先我们先运行个代码 来引入我们今天的主题~~ 运行结果: 运行程序,查看 load、kcFunc、main的打印顺序,下面是打印结果...

  • 120
    消息转发机制

    1. instrumentObjcMessageSends辅助分析 在调用方法前后加上instrumentObjcMessageSends,运行后在文件夹\tmp\下会产生一...

  • 120
    objc_msgSend 慢速查找流程分析

    在快速查找流程中,如果没有还没有找到方法实现,就会走到慢速查找流程 慢速查找流程分析 首先我们先来调试一下 在main中,例如[person say666]对象方法调用处加一...

  • 120
    objc_msgSend 流程

    1.runtime简介 Runtime分为两个版本,legacy和modern,分别对应Objective-C 1.0和Objective-C 2.0。我们通常只需要专注于m...

  • 120
    cache_t分析

    一、初探cache_t 1.cache_t结构 首先找到objc_class 点击cache进去看看 太多了 就不都截图了 看看宏定义是什么回事 CACHE_MASK_STO...

  • 120
    iOS中两道经典面试题解析

    1.方法归属 自定义类一个实例方法和一个类方法 main函数调用 lgObjc_copyMethodList 函数:用于获取类的方法列表 lgInstanceMethod_c...

  • 120
    类结构分析

    这片文章主要分析的是类的结构以及对象-类-元类-根元类之间的走位. 一. isa的指向以及类之间的关系 准备工作定义两个类 LLPersonLLTeacher (LLTea...

  • 120
    2020-09-08 结构体内存对齐

    今天我们来说说结构体内存对齐,废话少说~~ 先上代码和输出结果: 代码解析: 1.普通结构体 struct MyStruct1 { doublea; // 占8字节 起...

  • 120
  • 120
    isa的结构分析

    首先我们从alloc流程中initInstanceIsa开始方法入手: 接下来跟进isa_t: 接下来看看ISA_BITFIELD都包含什么: nonpointer:表示是否...