swift 参数可以提供默认值,在调用的时候,这个参数可以不传。
这样可以非常的灵活的去实现一些功能,比如下面的方法,添加一条分割线,一般应用的分割线的颜色都会保持一个样式(颜色,粗细等),我们可以将这个样式作为默认值,如果要添加的分割线是默认值,就不用传任何参数,如果个别需要参数自定义,只用传需要自定义的参数即可。
func addLine(position:XLinePostion= .bottom,
lineColor:UIColor=UIColor.white,
startInset:CGFloat=0,
endInset:CGFloat=0,
lineWidth:CGFloat=1,
isOnePixelWidth:Bool=false,
ignoreIfExist:Bool=true)
调用可以非常简洁
self.addLine()
self.addLine(position:.top)
self.addLine(position:.top, lineColor : UIColor.red)
需要注意的是,参数的顺序必须保持一致。
在OC中想做到这一点,需要定义多个方法。