我正在努力使用Swift的这一部分,在该方法调用中我没有看到额外的参数。
struct RectPadding {
var top: CGFloat
var right: CGFloat
var bottom: CGFloat
var left: CGFloat
init() {
top = 0
right = 0
bottom = 0
left = 0
}
func setPadding(each: CGFloat) {
setPadding(top: each, right: each, bottom: each, left: each) // I get the error here
}
mutating func setPadding(#top: CGFloat, right: CGFloat, bottom: CGFloat, left: CGFloat) {
self.top = top
self.right = right
self.bottom = bottom
self.left = left
}
}
我错过了什么?
答案 0 :(得分:2)
此方法:
mutating func setPadding(each: CGFloat) {
setPadding(top: each, right: each, bottom: each, left: each) // I get the error here
}
必须声明为mutating
,因为它会调用一个变异方法。
错误消息(额外参数)的原因是因为它尝试调用自身(具有相同的名称),它只接受一个参数。