2011-03-13 47 views
0

考慮以下方法:是不是objective-c函數參數語法很奇怪?

+(void) myMethod:(int)arg1 **argument2**(int)arg2 **argument3**(int) arg3;

如何看第一個參數,不同的是第二和第三,沒有一個介紹,給它對稱不好的印象。你也會期望額外的輸入將在你傳入時提供命名參數,但你仍然必須按照正確的順序傳遞它們。

任何人都可以幫助我理解這一點嗎?

+0

「怪異」是一個相當主觀和議論性的術語。我懷疑這個問題會關閉。建議您考慮一下真正的問題或問題,然後如果他們不是「他們爲什麼這麼做」的問題,請再次嘗試一個特定的技術問題。 – 2011-03-13 07:52:15

回答

1

你錯過argument2:argument3

而且,第一個參數被命名爲myMethod。通過蘋果公司的命名推薦指南,你會看到該方法應該以標識第一個參數的語義的方式命名。

編輯:

簽出此文檔Coding Guidelines - Naming Methods

0

方法名稱應該描述第一個參數。

像:

+ (void)updateUserWithId:id andAge:age

使整個表達式給出了不大不小的自然語句。

1

這背後的邏輯存在,雖然很難習慣。
關於你的第一個音符,關於第一個參數的命名, 蘋果鼓勵您按如下方式命名方法:

+(void)myMethodWithArg1:(int)arg1 Arg2:(int)arg2 Arg3:(int)arg3; 

從而使名字可讀像英語
(我的方法有ARG1句子類型爲int,int類型等)

關於命名PARAMS和沒有能力改變這種秩序的Arg2所得,這使得沒有SENCE給我任何

和我上面的意見是正確的,你錯過那些煩人:在PARAMS後

此外,ObjC的語法具有較強的關係到的Smalltalk(http://www.smalltalk.org/main/
我會鼓勵你閱讀對與兩種語言

希望之間的關係這有助於

相關問題