240 发简信
IP属地:北京
  • Resize,w 360,h 240
    探究Autorelease本质

    一、先创建一个Dog类,重写dealloc方法,看看Dog类的实例什么时候释放。工程改为MRC 工程: 发现实例并没有释放,在MRC 下需要添加...

  • Resize,w 360,h 240
    Tagged Pointer

    之前研究Autorelease ,看了sunyxx 那篇博客,当你验证代码的时候,会发现和博客不一样,原因就在于Tagged Pointer技术...

  • Resize,w 360,h 240
    探究 cache_t (方法缓存)的本质

    Class 内部中有个方法缓存 cache_t,用散列表来缓存调用过的方法,可以提高访问方法的速度。 一、cache_t结构 1.struct ...

  • Resize,w 360,h 240
    探究Class本质

    比较简单,只是记录一下知识点。 一、 Class1.网上扣了一张图片: Class 的一个结构。关于为什么&FAST_DATA_MASK是一种计...

  • Resize,w 360,h 240
    探究isa指针本质

    和之前一样,也是从源码中找到答案。我们都知道,实例对象的isa指针指向类对象,类对象的isa指针指向元类对象。 1.查找isa_t 删除了一些其...

  • Resize,w 360,h 240
    探究block本质

    记录一下,分六个方面来探究block,一步步分析。 一.block底层结构写一个最简单的block: c++重写:xcrun -sdk ipho...

  • Resize,w 360,h 240
    探究+initialize本质

    记录于此! 1.代码层面验证2.阅读源码 一、代码 推导:1.只导入头文件,不会调用+initialize2.第一次发消息时候调用+initia...

  • 探究 +load 方法本质

    这次其实是通过阅读源码的方式,观察iOS是如何调用的load 方法。 下载源码,找到load 相关的函数。如何下载源码,翻看我之前的几篇博客。 ...

  • 探究Category本质

    细致的看了下Category的东西,记录一下。 Category用途:1.进行类扩展2.hook一个方法3.重写已有类中的一个方法 跟着代码走不...