我注意到Xcode(或更准确地说是Apple LLVM编译器?)不再需要正向方法声明。换句话说,以下代码构建时没有警告:
@implementation Foo
-(void) foo {
[self bar];
}
-(void) bar {}
@end
这曾经在-foo
中发出警告,说Foo
可能无法回复-bar
,对吧?编译器现在更聪明还是其他的东西?我正在使用Xcode 4.3.1和Apple LLVM编译器3.1。
答案 0 :(得分:2)
这肯定已经改变,看起来Xcode 4.3& S中不需要这样的前向声明。后来。参看 Private Methods in Objective-C, in Xcode 4.3 I no longer need to declare them in my implementation file ?
答案 1 :(得分:0)
在我的XCode 4.2中,警告仍然存在,而且,当启用ARC时,这是一个错误,而不仅仅是警告。