240 发简信
IP属地:四川
  • Resize,w 360,h 240
    结构体和类的区别

    一、初始化方法不同 swift文件转sil文件命令 结构体成员有默认值时,编译器自动生成 init(age: Int = 20) 和 init(...

  • mutating关键字

    如果在类中使用mutating关键字,编译器会报错'mutating' isn't valid on methods in classes or...

  • iOS retain和release源码

    release最终调用objc_object::rootRelease 解读:1.判断是否是taggedPointer,如果是,则返回false...

  • Resize,w 360,h 240
    iOS APP启动流程

    1. _dyld_start入口函数 在一个类的+ (void)load函数上打断点,查看此时的堆栈信息如下: 可以看到栈底信息是从dyld源码...

  • objc_msgSend源码解析(三)

    1. 动态方法解析 resolveMethod_locked源码 分析:根据传入的cls是否是元类分别调用resolveInstanceMeth...

  • objc_msgSend源码解析(二)

    在objc_msgSend源码解析(一)[https://www.jianshu.com/p/55daf526120d]中最后进入_lookUp...

  • Resize,w 360,h 240
    objc_msgSend源码解析(一)

    objc_msgSend源码解析(一)[https://www.jianshu.com/p/55daf526120d]objc_msgSend源...

  • iOS cache_t结构分析

    cache_t源码结构精简后的cache_t源码如下: 可以看到有个重要的函数void incrementOccupied();,字面意思增加占...

  • Resize,w 360,h 240
    iOS 类的结构分析(二)

    1. 类对象获取 根据以上代码可以看到不管是对象调用class方法还是类调用class方法,得到的都是类对象,且不是元类对象,那么class底层...