美文网首页
什么是AOP

什么是AOP

作者: 张俊凯 | 来源:发表于2018-06-29 15:37 被阅读85次

    aop是一种思想,具体的用途是在不进行大的改动的前提下,切开现有的代码模块,在里面塞进去一小段代码,缝上伤口,实现自己的想法。

    iOS中增加一个新的方法,可以继承一个父类,子类中增加方法,也可以增加一个分类,在分类中实现新的方法,这样子,代码量会比较多,整体结构会复杂度增加,AOP可以在分类中建立自己的方法,重写类的load方法,在里面进行方法切换,这样,在外界进行老方法的调用时,实际上调用的是自己的方法,实现整体的简洁性。
    《分类和扩展的区别》 提到过,分类的方法优先级高于主类

    @implementation UIViewController (addition)
    
    +(void)load{
        [super load];
         Method originalMethod = class_getInstanceMethod([self class], @selector(system_method));
         Method newMethod = class_getInstanceMethod([self class], @selector(new_method));
         method_exchangeImplementations(originalMethod, newMethod);
    
    }
    

    相关文章

      网友评论

          本文标题:什么是AOP

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