美文网首页
iOS 使用类目的坑

iOS 使用类目的坑

作者: 与诗共远方 | 来源:发表于2017-06-15 10:12 被阅读0次

    1.如果类目的方法跟隐藏方法冲突,会覆盖系统的,会造成使用系统方法,结果调用你写的。你可能会觉得这不基本的覆盖问题吗!但我这说的是隐藏方法,而且即使没有导入的类目的私有方法也会覆盖系统的方法。

    NSObject+ChanHook中,我写了一个uuid方法 在viewController,获取照片url

    例如在上面两张图中,获取相册url,系统会去执行一个隐藏的uuid方法,结果却执行了我类目写的uuid。

    系统的uuid得到的url:assets-library://asset/asset.JPG?id=106E99A1-4F6A-45A2-B320-B0AD4A8E8473&ext=JPG。

    类目的uuid得到的url:assets-library://asset/asset.JPG?id=318e46f140e84d34a8124e6391f65dd7&ext=JPG。

    看出两个url中id这个值的区别了吧。

    2.如果使用切面编程,你所hook的对象写了跟你类目相同的方法,客户的会覆盖你的,可能造成你的hook无法正常工作。

    所以,要用类目,那最好命名别人不可能命名的,除非你本身就是要覆盖方法。

    相关文章

      网友评论

          本文标题:iOS 使用类目的坑

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