我已经找到了答案,但找不到答案。
我如何调用我在Theos调整中挂钩的同一个类中的实例方法? 如果我使用标准Xcode,我将使用自我方法,即.-
[self method:arg];
但是在一个theos调整中,这说法找不到方法,即使我挂钩那个方法。
示例:
%hook classimhooking
-(void)methodimhooking
{
[classimhooking methodiwanttocall];
[self methodiwanttocall];
%orig;
}
-(void)methodiwanttocall
{
%orig;
}
%end
methodiwanttocall
在那里,我可以挂钩,只是不要打电话。
我已经尝试使用%new
添加一个新方法并调用它但是找不到,我已经尝试了相同的延迟,但是找不到它。
我已经尝试定义我的类的变量并调用它但它不起作用。
我还可以看到你可以直接获取iVars,但这不适用于方法。
任何想法都会受到赞赏。
答案 0 :(得分:2)
如果你想在你刚挂钩的对象上调用一个方法,你可以使用performSelector
(或performSelector:withObject:
如果它有一个参数),这应该是这样的:
[self performSelector:@selector(methodiwanttocall)];
答案 1 :(得分:0)
抱歉挖掘旧帖。我可能对这个问题有所了解。万一有相同问题的人遇到这个问题。
问题是编译器不知道有这样的方法,即使有。处理它的方法是在代码顶部导入标题。
#import <classimhooking>