实现方法交换的注意事项

2018-06-08  本文已影响0人  陈_振
+ (void)load { 
    /*
     使用 dispatch_once 防止方法交换被多次调用
     */
    static dispatch_once_t onceToken;
    dispatch_once(&onceToken, ^{
        Method method1 = class_getInstanceMethod([self class], @selector(test1));
        Method method2 = class_getInstanceMethod([self class], @selector(test2));
        method_exchangeImplementations(method1, method2);
    });
}
上一篇 下一篇

猜你喜欢

热点阅读