nsproxy

作者: 不如养花 | 来源:发表于2020-04-18 22:45 被阅读0次

    NSProxy

    抽象基类
    重写- (void)forwardInvocation:(NSInvocation *)invocation;和- (nullable NSMethodSignature *)methodSignatureForSelector:(SEL)sel方法,来转发它没实现的方法。
    把消息转发给真正的target的代理类

    应用:

    1.解除nstimer的循环引用
    2.多继承
    3.消息分发
    (多继承就是在proxy中保存那两个对象,判断下调用的是哪个类,然后让其分别调用各自的方法)
    (消息分发是把类保存在自定义proxy中字典中,用运行时获得该类的方法,并存入字典,在调用时去判断是哪个类的方法)
    NSProxy

    NSInvocation

    用来包装方法和对应的对象,它可以存储方法的名称,对应的对象,对应的参数
    应用: 可以多参数调用
    NSInvocation

    NSMethodSignature

    用于获取某个类的类方法或者实例方法参数的个数和方法的返回值
    所以使用时要正确传入该类。
    NSMethodSignature

    相关文章

      网友评论

          本文标题:nsproxy

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