有没有办法抑制编译器警告??
由于
答案 0 :(得分:4)
如果您不想在Xcode中看到它们,可以通过右键单击源窗口并选择消息气泡|来禁止它们。仅错误。该行旁边仍会有一个小警告符号,但警告文本不会出现。
您可以通过打开项目信息窗口并转到构建标签来阻止编译器生成警告。 GCC#。# - 警告部分下方有禁止所有警告复选框。看起来它会做你想做的事。
如果您是从命令行构建的,则可以尝试这些开关:
-GCC_WARN_INHIBIT_ALL_WARNINGS -w
我从未尝试过那些开关。它们列在项目信息窗口的帮助区域中。
但是,最好的解决方案当然是弄明白为什么你的代码有警告并修复它。
答案 1 :(得分:2)
是的,我完全是为了修复警告,但是如果你有一个应用程序想要在10.4及更高版本上工作,并且在某些地方利用10.6中的方法/消息,但仍在继续工作10.4?
例如,不推荐使用NSDate.addTimeInterval,因此对于10.6,最好使用NSDate.dateByAddingTimeInterval。
从我可以解决的问题来看,无论我做什么,我都会在一方或另一方面发出警告。如果我添加代码:
if ([NSDate instancesRespondToSelector:@selector(dateByAddingTimeInterval)]) {
timer = [[NSTimer alloc] initWithFireDate:[nowDate dateByAddingTimeInterval:10.0] interval:0.05 target:self selector:@selector(fade:) userInfo:nil repeats:YES];
} else {
timer = [[NSTimer alloc] initWithFireDate:[nowDate addTimeInterval:10.0] interval:0.05 target:self selector:@selector(fade:) userInfo:nil repeats:YES];
}
如果sdk版本是10.5,我会在if语句的前半部分收到警告,如果sdk版本是10.6,我会在下半部分发出警告。
如果我 知道 代码没问题,是否有一个pragma或类似的构造允许我告诉编译器,有问题的行是否正常?< / p>