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

相关文章

  • 重拾iOS-NSProxy

    关键词:NSProxy,NSObject,Runtime 面试题:1)知道NSProxy吗?2)NSProxy和N...

  • NSProxy

    NSProxy.h文件内容 NSProxy 是一个抽象类NSProxy遵守了 NSObject 协议,内部有它的 ...

  • NSProxy、NSInvocation、NSMethodSig

    什么是NSProxy: NSProxy是一个抽象的基类,是根类,与NSObject类似 NSProxy和NSObj...

  • [iOS] 七七八八的小姿势(2)

    目录: NSProxy 字典集合对成员的引用方式 class判断 block变量捕获 1. NSProxy NSP...

  • NSProxy 和 NSObject 关系

    一、NSProxy 简介NSProxy 是一个抽象类,它实现了protocol NSObject 所要求的基本方法...

  • 老生常谈之NSProxy和NSTimer

    网上NSProxy和NSTimer都写烂了,所以这里只做下总结: 1.NSProxy应用场景: 解决NSTimer...

  • NSProxy

    NSProxy——少见却神奇的类 - IOS - 伯乐在线

  • NSProxy

    吾尝以为NSObject是Apple的所有Objective-C引用类型的老祖宗,直到后来知道了NSProxy的存...

  • NSProxy

    作用一: 代理想要拦截自定义CPTabBarController(UITabBarController子类)中ta...

  • NSProxy

    它来实现一下"伪多继承". 直接上个代码来展示下 使用方法 控制台输出结果 发现没有,猫发出消息已经被子类的内部拦...

网友评论

      本文标题:nsproxy

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