美文网首页
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