用内存地址替换方法

时间:2011-09-13 02:32:25

标签: objective-c memory swizzling

我想知道是否有任何方法可以通过内存地址来调整方法。 例如: 我有一个指向方法0xFFFFFF的指针。 我的应用程序中有一个方法。 我想用my方法替换指针。有没有办法在Objective-C中替换这个指针。感谢。

3 个答案:

答案 0 :(得分:0)

你在谈论注射。

查看mach_inject

Starruntime

和Application Enhancer。

答案 1 :(得分:0)

您正在寻找method_setImplementation(Method m, IMP imp)

您必须首先使用class_getInstanceMethodclass_getClasssMethod

为您的选择器解析方法

答案 2 :(得分:-2)

您可以使用“performSelector”:

[object performSelector:@selector(doSomething)];

选择器可以存储在变量中。