240 发简信
IP属地:北京
  • 120
    iOS底层 消息转发

    接上篇:iOS底层 消息查找流程在lookUpImpOrForward方法中会看到这样一段代码,当在缓存和方法列表中未能找到相应的imp时,会调用这段代码尝试去解析。 然后会...

  • 120
    iOS底层 消息查找流程

    接上篇iOS底层 objc_msgSend分析消息发送会调用lookUpImpOrForward方法,源码如下, 查找从消息列表里查找消息 如果没找到会返回nil, 调用ca...

  • 120
    iOS底层 objc_msgSend分析

    1.首先通过断点查看objc_msgSend调用,在调用方法处设置断点,在菜单栏中选择Debug -> View Debugging -> 勾选Always Show Dis...

  • 120
    iOS底层 cache_t分析

    类的结构源码如下,前面分析了isa,superclass,bits都已经分析过了,现在来看看cache,首先查看cache所在的位置。首先贴源码: cache_t在结构体ob...

  • 类的结构分析

    同isa一样从源码入手,首先从源码中找到类Class的定义和结构 继续找objc_class cache_t class_rw_t 找const class_ro_t *ro...

  • 120
    isa的初始化&指向分析

    一、isa的初始化 首先从源码中找到类Class的定义和结构 继续找objc_class 继续找objc_object 会发现isa的类型是isa_t,isa_t源码,如下:...

  • 120
    内存对齐原理

    内存对齐之前需要掌握的一张图 内存对齐的目的 对于程序而言,一个变量的数据存储范围是在一个寻址步长范围内的话,这样一次寻址就可以读取到变量的值,如果是超出了步长范围内的数据存...

  • 120
  • 120
    亲眼看这王牌节目一步步垮掉

    过去,薛之谦在《火星情报局》有个口头禅“整段垮掉”。 现在这个口头禅应该可以升级一下了。 “整期垮掉”了解一下。 垮掉的正是它—— 《火星情报局4》 (以下简称《火星4》) ...

  • 120
    优化 App 的启动时间实践 iOS

    前言 当用户按下home键的时候,iOS的App并不会马上被kill掉,还会继续存活若干时间。理想情况下,用户点击App的图标再次回来的时候,App几乎不需要做什么,就可以还...