2013-06-19 68 views
0

我正在閱讀一本關於iOS編程的書,並且遇到了一些令人困惑的問題。以相同的方法聲明兩次

從我學會爲止,在實現方法是這樣的

- (return type)methodName: (return type)parameter methodName2:(return type)parameter 

但是,爲什麼你有同樣的方法實現了兩次?就像這樣:

- (return type)methodName: (return type)parameter methodName2:(return type)parameter 
{ 
// Code here 
} 
- (return type)methodName: (return type)parameter methodName3:(return type)parameter { 
// Code here 
} 

這是否僅僅意味着有使用相同的方法名兩個聲明,但它知道哪些實現基於在執行所有的方法?我的印象是,第一個方法名稱是「方法」,其餘的是該方法的參數。

回答

5

有兩種不同的方法在這裏,它們被命名爲

methodName:methodName2: 

methodName:methodName3: 

在Objective-C, 「全法名稱」 所有參數傳播。

+1

謝謝!來自PHP的一些混淆,但是清除了一些東西。 – humdinger

+0

我同意:)如果你使用Xcode,你會看到它是如何解析,如果你鼠標懸停並按住cmd(或無論哪個鍵),它會強調組成方法名稱的部分。 – faffaffaff