爲什麼編譯時沒有任何錯誤或警告?重複的方法名稱 - Objective-c
@interface ObjectTest : NSObject {
}
-(void)iAmADoubleMethod;
-(void)iAmADoubleMethod;
@end
@implementation ObjectTest
-(void)iAmADoubleMethod {
NSLog(@"IAmADoubleMethod");
}
@end
我在一個正在處理的項目中遇到了這個問題。我來自C++背景,所以我想我至少會得到一個警告。我不僅希望知道它遵守的原因,但是這個代碼是否會導致任何問題?
謝謝。
我會把它作爲評論,因爲我不確定它是否正確,但是:我相信這是有效的,因爲C標準說只要只有一個定義就可以有任何數量的聲明。例如,你可以在許多文件中聲明一個int x,但是你只能在一個地方爲變量定義空間。 – 2010-05-24 23:50:06