美文网首页
oc消息转发

oc消息转发

作者: ONE2 | 来源:发表于2021-07-26 21:35 被阅读0次
@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    [self performSelector:@selector(foo)];
}

+ (BOOL)resolveInstanceMethod:(SEL)sel {
    return [super resolveInstanceMethod:sel];
}

- (id)forwardingTargetForSelector:(SEL)aSelector {
    // 指定转发对象
//    if(aSelector == @selector(foo)) {
//        return [Me new];
//    }
    return [super forwardingTargetForSelector:aSelector];
}

//
- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector {
    if (aSelector == @selector(foo)) {
        return [Me instanceMethodSignatureForSelector:aSelector];
    }
    return [super methodSignatureForSelector:aSelector];
}

- (void)forwardInvocation:(NSInvocation *)anInvocation {
    if (anInvocation.selector == @selector(foo)) {
        [anInvocation invokeWithTarget:[Me new]];
    } else {
        [super forwardInvocation:anInvocation];
    }
}

//- (void)doesNotRecognizeSelector:(SEL)aSelector {
//
//}


@end

相关文章

  • OC消息转发

    参考:轻松学习之 Objective-C消息转发 OC中调用方法就是向对象发送消息。比如 :[person run...

  • OC消息转发

    从 OC 转发机制说起 在 OC 中,方法调用也被称为发送消息,向一个的方法进行调用的时候,其实底层都会转换成 o...

  • OC消息转发

    消息转发 当向someObject发送某消息,但runtime system在当前类和父类中都找不到对应方法的实现...

  • OC 消息转发

    step1 调用+ (BOOL)resolveInstanceMethod:(SEL)selector 方法 此方...

  • OC消息转发

    转自: https://www.jianshu.com/p/649792014865 1 首先根据receiver...

  • oc消息转发

  • iOS消息转发机制

    OC消息转发 oc中的调用对象或者类不存在的方法,会执行一遍消息转发流程.消息转发主要包括4步 首先调用+ (BO...

  • Runtime——消息转发与运用

    本文主要是针对runtime消息转发进行整理,并举例关于消息转发的运用。 消息转发 1、消息调用 OC中发送消息是...

  • 关于Runtime 消息发送机制的延伸

    说到OC 不得不说一下OC 的消息转发机制;何为OC 的消息转发机制;其实就是这样的; Objc 在向一个对象发送...

  • oc消息转发机制

    一、消息转发机制 在OC中,调用一个对象的方法,实际上是给对象发了一条消息,在编译Objective-C函数调用的...

网友评论

      本文标题:oc消息转发

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