Swift函数与类中方法的参数标签

Objective-C中的函数标签也是函数参数的一部分,它避免了参数过多的情况下分不清每个参数的含义。Objective-C的优秀特性被Swift继承下来了。

1.函数的参数标签

Swift可以为每个函数的参数指定一个名字,在函数调用时,可以通过该标签获取对应参数的具体含义。

fun showInfo(sName name:String,sAge age:Int){
}

showInfo(sName: "weichuang",sAge:22)

//sName表示在外部调用函数时,需要显式地写出该参数的标签(命名)。

2.类中方法的参数命名规则

虽然在类的内部定义方法的方式和定义函数的方式相同,但是使用参数名称的规则却有所区别。

func sayTo(target:String,withWords:String){
}

me.sayTo("Ricky",withWords:"Hello,World")//me是sayTo所在类的对象

调用类中方法时,有如下规则:

  • 一个参数的参数名缺省不需要写出来
  • 从第二个参数开始,所有的参数名称,需要在进行方法调用时写出来

以上的规则可以理解为:假如没有显式指定外部参数名,从第二个参数开始,所有的参数名称的前面相当于有一个”#”号,”#”用来表示局部参数名和外部参数为同一名称

当然,如果方法定义中显式制定了外部参数名的话,则在调用时,必须使用指定的外部参数名。

3.构造方法的参数名称

观察以下构造方法的实例:

init(name:String,age:Int){ } init(name:String){ } var p=Human(name:"chuang",age:22) var t=Human(name:"jie")

可以发现,被隐式调用的构造方法中的参数名称”name”和”age”在作为内部参数的同时也充当了外部参数。

在实例方法中,认能充当外部参数名的参数是从第二个参数开始的,但是构造方法却是从第一个参数开始的。为什么会是这样呢?因为构造方法名称都是init,而实例方法本身往往就能说明第一个参数的意义。

相关文章

软件简介:蓝湖辅助工具,减少移动端开发中控件属性的复制和粘...
现实生活中,我们听到的声音都是时间连续的,我们称为这种信...
前言最近在B站上看到一个漂亮的仙女姐姐跳舞视频,循环看了亿...
【Android App】实战项目之仿抖音的短视频分享App(附源码和...
前言这一篇博客应该是我花时间最多的一次了,从2022年1月底至...
因为我既对接过session、cookie,也对接过JWT,今年因为工作...