从什么时候开始Xcode不再需要前向方法声明?为什么?

时间:2012-03-27 06:42:36

标签: xcode llvm

我注意到Xcode(或更准确地说是Apple LLVM编译器?)不再需要正向方法声明。换句话说,以下代码构建时没有警告:

@implementation Foo

-(void) foo {
    [self bar];
}

-(void) bar {}

@end

这曾经在-foo中发出警告,说Foo可能无法回复-bar,对吧?编译器现在更聪明还是其他的东西?我正在使用Xcode 4.3.1和Apple LLVM编译器3.1。

2 个答案:

答案 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时,这是一个错误,而不仅仅是警告。