240 发简信
IP属地:北京
  • Resize,w 360,h 240
    ios 内存管理(上)

    1.内存布局 内核区:假设在4GB的手机内存中,通常我们使用的只有3GB,而另外的1GB则交给内核区去处理; 栈:通过寄存器直接读取内存(函数,...

  • Resize,w 360,h 240
    ios block

    1. block的分类 1. NSGlobalBlock我们通常把内存分为五大区,堆区,栈区,全局静态区,常量区,代码区,当我们定义一个普通的b...

  • Resize,w 360,h 240
    ios KVC与KVO的探索研究

    1. KVC 1.0 KVC的使用 LGStudent.h LGPerson.h 我们在平时一般使用LGPerson *person = [[L...

  • Resize,w 360,h 240
    ios weak底层实现

    1. 从汇编探索weak 我们常用weak来进行弱引用对象,是因为它在释放的时候自动置空,打破循环引用。 从 → → 打开汇编调试,运行代码: ...

  • Resize,w 360,h 240
    iOS 关联对象

    1. Category与Extension 1.1 category:类别,分类 专门用来给类添加新的方法; 不能给类添加成员属性,添加了成员变...

  • iOS 消息查找和消息转发

    1. 消息慢速查找流程 1.1 forward_imp探索 输出: 源码: 当对象在调用方法时,会先去cls里的cache查找是否有缓存,如果查...

  • Resize,w 360,h 240
    ios objc_msgSend流程

    1.runtime简介 编译时顾名思义,编译时就是正在编译的时候,而编译,指的是将代码翻译成机器可以识别的代码。在编译时,检查到的错误叫做编译时...

  • ios isKindOfClass 和isMemberOfClass

    1.类方法 输出 1.1 isKindOfClass 源码实现: 在源码+ (BOOL)isKindOfClass:(Class)cls方法中设...

  • Resize,w 360,h 240
    ios isa的探索

    1. isa在alloc中的实现 在alloc探索[https://www.jianshu.com/p/08079ea2dbae]的过程中,我们...