你要知道的runtime都在这里转载请注明出处 http://www.jianshu.com/p/e2c0c67d39ed本文主要讲解runtime相关知识,从原理到实践,由于包含内容过多分为以下五篇...
分类:
移动开发 时间:
2017-03-30 14:01:48
阅读次数:
258
之前所说的消息转发虽然功能强大,但需要我们了解并且能更改对应类的源代码,因为我们需要实现自己的转发逻辑。当我们无法触碰到某个类的源代码,却想更改这个类某个方法的实现时,该怎么办呢?可能继承类并重写方法是一种想法,但是有时无法达到目的。这里介绍的是 Method Swizzling ,它通过重新映射方 ...
分类:
其他好文 时间:
2017-03-01 14:12:31
阅读次数:
208
最近在项目里由于电信那边发生dns发生域名劫持,因此需要手动将URL请求的域名重定向到指定的IP地址,但是由于请求可能是通过NSURLConnection,NSURLSession或者AFNetworking等方式,因此要想统一进行处理,一开始是想通过Method Swizzling去hook cf ...
分类:
移动开发 时间:
2016-10-14 09:47:32
阅读次数:
183
接上一篇 http://www.cnblogs.com/ddavidXu/p/5924597.html 转载来源http://www.jianshu.com/p/6b905584f536 http://southpeak.github.io/2014/10/30/objective-c-runtim ...
分类:
其他好文 时间:
2016-10-08 20:05:51
阅读次数:
123
理解Method Swizzling是学习runtime机制的一个很好的机会。在此不多做整理,仅翻译由Mattt Thompson发表于nshipster的Method Swizzling一文。 Method Swizzling是改变一个selector的实际实现的技术。通过这一技术,我们可以在运行 ...
分类:
其他好文 时间:
2016-09-09 20:34:19
阅读次数:
188
刚看到这个名字估计很多人有点熟悉,Method Swizzling对不对,不熟悉也没关系,去看看之前的一篇文章黑魔法之Method Swizzling吧。不过也可以根据名称猜测出来所谓的isa-swizzling就是讲isa进行替换了的技术。如果有小伙伴问我什么是isa的话,不好意思,保安,有人来捣 ...
分类:
其他好文 时间:
2016-09-01 12:36:25
阅读次数:
112
Key-Value Coding: 键值编码 (KVC) 方法调用: KVC运用了一个isa-swizzling技术。isa-swizzling就是类型混合指针机制, 将2个对象的isa指针互相调换, 就是俗称的黑魔法。 KVC主要通过isa-swizzling,来实现其内部查找定位的。默认的实现方 ...
分类:
其他好文 时间:
2016-08-31 13:41:32
阅读次数:
161
此黑魔法本应属于OC,它是基于Runtime实现的偷天换日大法。
那么什么是Method Swizzling呢?从字面意思来看叫方法协调,大概就是这个意思了。使用此魔法可以替换现有方法为自定义方法,来个偷天换日,偷梁换柱。
使用方法很简单,代码基本为以下框架。但其具有较强的魔力,这是一个方法hook啊。
/**
* Method Swizzling
* 黑魔法之偷天换日
*/
...
分类:
移动开发 时间:
2016-08-19 13:21:33
阅读次数:
207
理解Method Swizzling是学习runtime机制的一个很好的机会。在此不多做整理,仅翻译由Mattt Thompson发表于nshipster的Method Swizzling一文。 Method Swizzling是改变一个selector的实际实现的技术。通过这一技术,我们可以在运行 ...
分类:
其他好文 时间:
2016-08-15 12:58:45
阅读次数:
138
公司年底要在新年前发一个版本,最近一直很忙,好久没有更新博客了。正好现在新版本开发的差不多了,抽空总结一下。由于最近开发新版本,就避免不了在开发和调试过程中引起崩溃,以及诱发一些之前的bug导致的崩溃。而且项目比较大也很不好排查,正好想起之前研究过的Method Swizzling,考虑是否能用这个 ...
分类:
移动开发 时间:
2016-06-22 06:55:38
阅读次数:
296