重复的方法名称 - 目标-c

Nix*_*ack 2 iphone objective-c

为什么这个编译没有任何错误或警告?

@interface ObjectTest : NSObject {

}
-(void)iAmADoubleMethod;
-(void)iAmADoubleMethod;
@end

@implementation ObjectTest
-(void)iAmADoubleMethod {
    NSLog(@"IAmADoubleMethod");
}
@end
Run Code Online (Sandbox Code Playgroud)

我在一个正在研究的项目中遇到过这个问题.我来自C++背景,所以我想我至少会得到一个警告.我不仅想知道它为什么符合,而且这个代码会导致任何问题吗?

谢谢.

Chu*_*uck 10

你只是声明了这个方法两次.声明不冲突,所以这不是问题.它就像你在普通的C或C++程序中多次声明一个函数一样.