Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我很好奇是否有任何工具可以为此提供部分解决方案。由于 performSelector ,这是一个棘手的问题。. . 但是一个工具至少应该能够提出候选人,使人类的工作更容易。
使用静态分析,由于 Objective-C 的动态特性,无法检测已定义但未使用的函数/方法。唯一合理的解决方案是使用GCov或类似工具运行覆盖。即使这样,您也必须让您的程序尽一切可能,以确保您不会删除一些在测试期间未使用的功能。
GCov
此外,这个脚本对此有一些有趣的想法。
鉴于在 Objective-C 程序中经常选择非常冗长但描述性的方法名称,我发现在项目中进行文本查找通常就足够了。我通常只使用方法名称的第一部分,以避免必须匹配方法参数。这将匹配正常的方法调用和使用@selectorand NSSelectorFromString。
@selector
NSSelectorFromString
当然,这不适用于非常常见的方法名称,或者如果您需要方法名称的其余部分来消除许多相似方法之间的歧义,但我发现这种情况很少见。