首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Theos / Logos中的%group功能?

如何使用Theos / Logos中的%group功能?
EN

Stack Overflow用户
提问于 2012-09-20 16:06:36
回答 2查看 1.4K关注 0票数 2

我听说theos中有一个%group特性。根据我对此的理解,我猜这是为了在条件设置为真时,或者当您想要轻松地启用或禁用它而不是使用if()时,应用大量的钩子。我说的是真的吗?如果满足某个条件,我如何使用此功能?请帮助我,因为我真的需要这个功能,因为我有很多的of和其他在我的代码中,它将更容易只使用%group而不是所有这些!任何建议都是非常感谢的!

EN

回答 2

Stack Overflow用户

发布于 2012-09-30 20:46:37

我找到了答案;

  1. 您可以在%hook之前使用%group thegroupname,但请记住在后面放两个%end
  2. %ctor中,您可以在需要时调用%init(thegroupname);

希望这对某些人有帮助!顺便说一句,%init()函数可以在任何地方使用,甚至可以在%hook中使用。

代码语言:javascript
复制
%group MessagesApp

%hook CLASS_TO_HOOK

- (id)FUNC_TO_HOOK {
    return %orig;
}

%end

%end //Don't forget your second end.

%ctor {
    if (TRUE) {
        %init(MessagesApp);
    }
}
票数 2
EN

Stack Overflow用户

发布于 2015-10-29 22:58:20

添加答案以进一步澄清,使用如下所示:

代码语言:javascript
复制
%group iOS8
   %hook IOS8_SPECIFIC_CLASS
          // your code here
   %end // end hook
%end // end group ios8

%group iOS9
   %hook IOS9_SPECIFIC_CLASS
          // your code here
   %end // end hook
%end // end group ios9


%ctor {
    if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 9.0) {
        %init(iOS9);
    } else {
        %init(iOS8);
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12508442

复制
相关文章

相似问题

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