美文网首页
2018-01-01

2018-01-01

作者: NEO从容 | 来源:发表于2018-01-08 20:22 被阅读0次

苹果的swizzle,利用runtime进行方法交换.

例子1.在网络请求中,一个url如果不合法但执行结果错误,OC不会给提示. 比如 

 NSURL * url = [NSURL URLWithString:@"http://www.baidu.com/哈哈"] 

中出现中文.利用runtime方法交换,可以实现对url的校验而不需要在原有代码里有任何改变.

首先添加一个NSURL的分类

在test分类.h里添加需要替换原有url的方法

再在.m中实现方法交换

这样以来你不需要在工程中做出任何改变,就可以实现把调换系统方法的效果.下面是运行结果

相关文章

网友评论

      本文标题:2018-01-01

      本文链接:https://www.haomeiwen.com/subject/szkxnxtx.html