一、先创建一个Dog类,重写dealloc方法,看看Dog类的实例什么时候释放。工程改为MRC 工程: 发现实例并没有释放,在MRC 下需要添加...
之前研究Autorelease ,看了sunyxx 那篇博客,当你验证代码的时候,会发现和博客不一样,原因就在于Tagged Pointer技术...
Class 内部中有个方法缓存 cache_t,用散列表来缓存调用过的方法,可以提高访问方法的速度。 一、cache_t结构 1.struct ...
比较简单,只是记录一下知识点。 一、 Class1.网上扣了一张图片: Class 的一个结构。关于为什么&FAST_DATA_MASK是一种计...
和之前一样,也是从源码中找到答案。我们都知道,实例对象的isa指针指向类对象,类对象的isa指针指向元类对象。 1.查找isa_t 删除了一些其...
记录一下,分六个方面来探究block,一步步分析。 一.block底层结构写一个最简单的block: c++重写:xcrun -sdk ipho...
记录于此! 1.代码层面验证2.阅读源码 一、代码 推导:1.只导入头文件,不会调用+initialize2.第一次发消息时候调用+initia...
这次其实是通过阅读源码的方式,观察iOS是如何调用的load 方法。 下载源码,找到load 相关的函数。如何下载源码,翻看我之前的几篇博客。 ...
细致的看了下Category的东西,记录一下。 Category用途:1.进行类扩展2.hook一个方法3.重写已有类中的一个方法 跟着代码走不...