【发布时间】:2011-03-26 22:56:28
【问题描述】:
例如,在不产生警告的情况下实施委托技术似乎是不可能的。这真的没有意义,因为:
if (self.myDelegate != nil) {
BOOL callDelegate = [self.myDelegate respondsToSelector:@selector(fooDidHappen:WithBar:)];
if (callDelegate) {
[self.myDelegate fooDidHappen:foo withBar:bar];
}
}
如您所见,我询问代理是否响应了该选择器。但是在仅当代表响应它时输入的 if 块中,我收到一个愚蠢的警告,即代表没有响应。当然不是,因为这段代码只在运行时充分利用。然而,在 xcode 中继续处理编译器警告是非常糟糕的做法,所以我想告诉编译器忽略它。
以 PHP 为例,您可以编写 @anFunction(foo); @ 将确保这个函数根本不会给你任何警告。那么是否可以在该部分周围键入编译器指令或命令以消除警告?
【问题讨论】:
-
这是两个重复问题中较老的一个。