而Objective-C是怎么定义的呢?
-(void) setWord1:(NSString *) word1 setWord2:(NSString *) word2
中文语法解释是这样的:
(方法的数据返回类型) 方法名: (参数1数据类型) 参数1的变量名 参数2名称: (参数2数据类型) 参数2的变量名 ….
(返回值) 方法名: (参数1数据类型) 参数1内部参数名 参数2外部参数名: (参数2数据类型) 参数2内部参数名 ….
我们先看"参数2名称:(参数2的数据类型) 参数2的变量名"。
*关键点: 方法名等于名称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:”读起来就像一个通顺的句子。
“setWord1:setWord2:”是方法名,word1和word2是参数名。你所谓的参数2的名称(setWord2)其实是方法名的一部分,而不是参数名。objective-c的发明者希望方法名读起来像一个通顺的句子,结合这点来理解方法定义,就不会对objective-c怪异的语法感到困惑了。
例如,定义一个求两个数的和的方法,
-(float) addNumber1:(float)num1 toNumber2:(float)num2;
方法名“addNumber1:toNumber2:”读起来就像一个通顺的句子。
swift 怎么定义的呢
方法名(外部参数名 内部参数名:参数类型,外部参数名2,内部参数名2:参数2类型)->返回值类型
func someFunction(externalParameterName localParameterName: Int) {
}
}