一直被Object多参数方法迷惑,这下总算搞清楚了!!!lady gaga!!!!!
1.应该这么理解方法定义:
-(void) setWord1:(NSString *) word1 setWord2:(NSString *) word2
“setWord1:setWord2:”是方法名,word1和word2是参数名。你所谓的参数2的名称(setWord2)其实是方法名的一部分,而不是参数名。objective-c的发明者希望方法名读起来像一个通顺的句子,结合这点来理解方法定义,就不会对objective-c怪异的语法感到困惑了。
例如,定义一个求两个数的和的方法,
-(float) addNumber1:(float)num1 toNumber2:(float)num2;
方法名“addNumber1:toNumber2:”读起来就像一个通顺的句子。
2.再来看看其他语言怎么定义多参数函数,就当增长下见识。(这段转载的)
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是一个动态语言不需要类型所以只需要定义参数即可
functionsay(word1,word2)
6.
Php
functionsay($word1,$word2)
7.
Python(动态语言不需要类型,类似JS)
defsay(word1,word2)
8.
ActionScript(动态语言不需要参数)
functionsay(word1,word2)
9.
Perl (好奇心起把这个也找出来了)
subsay{($word1,$word2)
=@_//@_代表参数名称
}