【问题标题】:How to identify unused method in xcode如何识别xcode中未使用的方法
【发布时间】:2011-12-01 19:34:43
【问题描述】:

Visual Studio 可以告诉我从未调用过的方法,XCode 可以这样做吗?猜不出来,因为它们可能会通过选择器调用,并且名称可以即时形成。

【问题讨论】:

    标签: objective-c


    【解决方案1】:

    Obj-C 中没有“未使用的方法”的真正概念。因为一切都是通过消息传递调用的,编译器可能无法找到任何显式调用该消息的调用站点,但它仍然通过运行时方法调用。

    如果您想确定一个方法是否未使用,您可以在项目范围内搜索方法名称(如果它需要多个参数,您可以尝试名称中最独特的部分,例如,如果您有-loadData:MIMEType:textEncodingName:baseURL: 你可以只搜索MIMEType:)。如果此方法有任何 显式 调用,这将为您提供一个好主意。如果您确定不是在运行时动态构造方法名称,那么这可能是一个从未调用过的方法。但您是否真的对此有信心取决于您的项目有多复杂以及您使用了多少运行时“魔法”。

    【讨论】:

    • 另一种可能的方法是注释掉头文件中的方法签名并查看警告。
    • @Paul.s:这在很多情况下都有效,但不是全部。例如,如果您的方法与另一个现有方法的名称相同,那么任何人在 id 类型的变量上调用它都不会触发警告。
    • 是的,这是真的,我想得又快又脏。我一直认为很遗憾 xcode 要么没有,要么我找不到任何正则表达式功能。当我想进行这样的搜索时,我总是不得不使用 TextMate,特别是如果该方法没有像 MIMEType 这样的好东西而且相当罕见。
    • @Paul.s:Xcode 有正则表达式搜索。单击项目搜索 UI 中的小放大镜图标。
    • 您的意思是在替换中引用捕获?只需使用 \n 语法,例如foo:\1.
    猜你喜欢
    • 2017-07-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-13
    • 1970-01-01
    • 1970-01-01
    • 2018-05-02
    • 1970-01-01
    相关资源
    最近更新 更多