Erlo

super performSelector: 解决调用父类私有方法的问题

时间:2019-09-25 14:03   阅读:71次   来源:博客园
页面报错
点赞

super performSelector: 解决objc调用父类私有方法的问题

  Objc中[super performSelector: ...]并不会像其他语言一样能良好的工作。super只是编译器符号。

  想要安全和快速的调用父类的方法是直接调用父类方法的函数地址:

    Method md = class_getInstanceMethod(class_getSuperclass(self.class), @selector(XXXXX:));

    IMP imp = method_getImplementation(md);

    void(*super_imp)(id,SEL,id) = (void*)imp;

    super_imp(self, @selector(XXXXX:), 参数1, 参数2, 参数3,... ...);

 

评论留言

还没有评论留言,赶紧来抢楼吧~~

Erlo大厅()

* 这里是“吐槽厅”,所有人可看,只保留当天信息。

  • Erlo.vip2019-10-24 02:01:07Hello、欢迎使用吐槽厅,这里是个吐槽的地方。
  • 返回顶部