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

zou*_*oul 6 xcode llvm

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

@implementation Foo

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

-(void) bar {}

@end
Run Code Online (Sandbox Code Playgroud)

这曾经发出警告-fooFoo可能没有回应-bar,对吧?编译器现在更聪明还是其他的东西?我正在使用Xcode 4.3.1和Apple LLVM编译器3.1.

Cla*_*ges 2

这肯定已经改变了,并且看起来 Xcode 4.3 及更高版本中不需要此类前向声明​​。比照。 Objective-C 中的私有方法,在 Xcode 4.3 中我不再需要在我的实现文件中声明它们?