一直被Object多參數(shù)方法迷惑暴浦,這下總算搞清楚了=啊!歌焦!lady gaga7杉浮!6榔病P寄躁锁!
1.應(yīng)該這么理解方法定義:
-(void) setWord1:(NSString *) word1 setWord2:(NSString *) word2
“setWord1:setWord2:”是方法名,word1和word2是參數(shù)名卵史。你所謂的參數(shù)2的名稱(setWord2)其實(shí)是方法名的一部分战转,而不是參數(shù)名。objective-c的發(fā)明者希望方法名讀起來像一個(gè)通順的句子以躯,結(jié)合這點(diǎn)來理解方法定義匣吊,就不會(huì)對(duì)objective-c怪異的語法感到困惑了。
例如寸潦,定義一個(gè)求兩個(gè)數(shù)的和的方法色鸳,
-(float) addNumber1:(float)num1 toNumber2:(float)num2;
方法名“addNumber1:toNumber2:”讀起來就像一個(gè)通順的句子。
2.再來看看其他語言怎么定義多參數(shù)函數(shù)见转,就當(dāng)增長(zhǎng)下見識(shí)命雀。(這段轉(zhuǎn)載的)
1.
C/C++
public
voidsay(char*
word1,char* word2)
2.
JAVA
public
voidsay(String
word1,String word2)
3.
C#(跟Java一模一樣)
public
voidsay(String
word1,String word2)
4.
VB
Public
function fun1(word1 as string,word2 as string) as string
5.
JS是一個(gè)動(dòng)態(tài)語言不需要類型所以只需要定義參數(shù)即可
functionsay(word1,word2)
6.
Php
functionsay($word1,$word2)
7.
Python(動(dòng)態(tài)語言不需要類型,類似JS)
defsay(word1,word2)
8.
ActionScript(動(dòng)態(tài)語言不需要參數(shù))
functionsay(word1,word2)
9.
Perl (好奇心起把這個(gè)也找出來了)
subsay{($word1,$word2)
=@_//@_代表參數(shù)名稱
}