电话中的额外参数

时间:2014-11-05 21:55:02

标签: ios swift

我正在努力使用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
    }
}

我错过了什么?

1 个答案:

答案 0 :(得分:2)

此方法:

mutating func setPadding(each: CGFloat) {
    setPadding(top: each, right: each, bottom: each, left: each) // I get the error here
}

必须声明为mutating,因为它会调用一个变异方法。

错误消息(额外参数)的原因是因为它尝试调用自身(具有相同的名称),它只接受一个参数。

相关问题