iphone – 如果我覆盖一个类方法,有没有办法可以调用原始方法(被覆盖的方法)?

iphone – 如果我覆盖一个类方法,有没有办法可以调用原始方法(被覆盖的方法)?,第1张

概述在Objective-C中,如果我使用类别覆盖类方法,有没有办法可以调用原始方法(被覆的方法)? 我用三种方法向你展示(虚空)加载.在每种情况下,请将方法命名为MyCategory_method左右. > class_getMethodImplementation()和class_replaceMethod().存储旧的IMP,并直接调用它.您需要获取方法的类型编码.请注意,您也可以使用普通的C 在Objective-C中,如果我使用类别覆盖类方法,有没有办法可以调用原始方法(被覆盖的方法)?解决方法 我用三种方法向你展示(虚空)加载.在每种情况下,请将方法命名为Mycategory_method左右.

> class_getmethodImplementation()和class_replaceMethod().存储旧的IMP,并直接调用它.您需要获取方法的类型编码.请注意,您也可以使用普通的C函数…
> class_getInstanceMethod(),method_getImplementation(),method_setImplementation().如上所述,但您不需要获取方法的类型编码.
>两个方法上的class_getInstanceMethod(),然后是method_exchangeImplementations().调用Mycategory_method以获取原始实现.这是最简单的方法.

有时,这是让它做你想做的唯一合理的方法…

编辑:只有你知道你在做什么才这样做!

总结

以上是内存溢出为你收集整理的iphone – 如果我覆盖一个类方法,有没有办法可以调用原始方法(被覆盖的方法)?全部内容,希望文章能够帮你解决iphone – 如果我覆盖一个类方法,有没有办法可以调用原始方法(被覆盖的方法)?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1086144.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存