一直被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 void say(char* word1,char* word2)
2. JAVA
public void say(String word1,String word2)
3. C#(跟Java一模一样)
public void say(String word1,String word2)
4. VB
Public function fun1(word1 as string,word2 as string) as string
5. JS是一个动态语言不需要类型所以只需要定义参数即可
function say(word1,word2)
6. Php
function say($word1,$word2)
7. Python(动态语言不需要类型,类似JS)
def say(word1,word2)
8. ActionScript(动态语言不需要参数)
function say(word1,word2)
9. Perl (好奇心起把这个也找出来了)
sub
say{ ($word1,$word2)
= @_
//@_代表参数名称
}