首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Theos实例方法调用

Theos实例方法调用
EN

Stack Overflow用户
提问于 2014-02-08 10:45:47
回答 2查看 2.8K关注 0票数 0

我一直在寻找答案,却找不到答案。

我如何在我的Theos调整的同一个类中调用一个实例方法?如果我使用的是标准的Xcode,我会使用self方法,即-

代码语言:javascript
复制
[self method:arg];

但是在theos的调整中,这说明找不到方法,即使我钩住了那个方法。

示例:

代码语言:javascript
复制
%hook classimhooking

-(void)methodimhooking
{
    [classimhooking methodiwanttocall];
    [self methodiwanttocall];
    %orig;
}

-(void)methodiwanttocall
{
    %orig;
}

%end

methodiwanttocall在那里,我可以连接到它,只是不叫它。我尝试用%new添加一个新方法,并调用它,但是没有找到它,我也尝试过延迟,但是没有找到它。我尝试过定义类中的变量并调用它,但是它不起作用。

我还可以看到,您可以直接抓取iVars,但是方法不起作用。

任何想法都将不胜感激。

EN

回答 2

Stack Overflow用户

发布于 2014-02-08 22:05:46

如果您想对刚钩住的对象调用一个方法,可以使用performSelector (如果它有参数的话也可以使用performSelector:withObject: ),这应该是这样的:

代码语言:javascript
复制
[self performSelector:@selector(methodiwanttocall)];
票数 2
EN

Stack Overflow用户

发布于 2016-05-22 05:30:36

很抱歉挖了根旧线。我可能对这件事有个想法。万一有同样问题的人遇到这种情况。

问题是编译器不知道有这样的方法,即使有。处理它的方法是在代码顶部导入标题。

代码语言:javascript
复制
#import <classimhooking>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21645020

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档