什么是AOP

2018-06-29  本文已影响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);

}
上一篇下一篇

猜你喜欢

热点阅读