super performSelector: 解决调用父类私有方法的问题
程序员文章站
2022-05-18 21:12:04
super performSelector: 解决调用父类私有方法的问题 ......
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,... ...);
上一篇: JavaScript 数据类型转换表
下一篇: go 指针 通过指针修改int类型的值
推荐阅读
-
同一个类中无事务方法调用同一个类的有事务方法问题原因及其解决方法
-
Java中子类调用父类构造方法的问题分析
-
Java中子类调用父类构造方法的问题分析
-
super performSelector: 解决调用父类私有方法的问题
-
java基础-super(实参)的用法-子类调用父类的构造方法
-
SpringCache @Cacheable 在同一个类中调用方法,导致缓存不生效的问题及解决办法
-
Spring实现类私有方法的几个问题(亲测通用解决方案)
-
super performSelector: 解决调用父类私有方法的问题
-
子类继承父类时,创建对象,构造方法的调用问题
-
使用super多继承及MRO顺序,解决菱形继承的父类二义性问题之进阶 参数问题