有时我声明了一个ivar,但过了一会儿我不再使用它了。我想从我的代码中删除此类杂物,但是我找不到能够向我显示未使用的ivars的警告。
是否存在Xcode的工具或内置功能,可以让我查找所有未使用的ivars?
我看到静态分析器具有CLANG_ANALYZER_OBJC_UNUSED_IVARS,但是它似乎没有任何作用。
@implementation AppDelegate
{
@private
BOOL _foo; // Never read or written to
}
如果将CLANG_ANALYZER_OBJC_UNUSED_IVARS(未使用的ivars)设置为YES,则在Xcode 5中运行分析器将不会产生警告。
最佳答案
基于the relevant Clang source code和一些快速测试,似乎分析器不会查看未同时在@interface
中声明和未标记为@private
的ivars。
@interface Igloo : NSObject
{
NSString * address; // No warning
@private
NSInteger radius; // Warning
}
@end
@implementation Igloo
{
NSInteger numWindows; // No warning
@private // Has no real effect, of course; just testing
NSString * doormatText; // No warning
}
@end
我建议提交错误/提交补丁。
关于objective-c - 如何在Xcode中找到未使用的ivars,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21103089/