'var'参数已弃用,将在Swift 3 UIimage Gif中删除

时间:2016-03-24 03:29:07

标签: swift swift3

我只是将Xcode更新为7.3,现在我收到了这个警告:

  

'var'参数已弃用,将在Swift 3中删除

我需要在这个函数中使用var:

class func gcdForPair(var a: Int?, var _ b: Int?) -> Int {
    // Check if one of them is nil
    if b == nil || a == nil {
        if b != nil {
            return b!
        } else if a != nil {
            return a!
        } else {
            return 0
        }
    }

    // Swap for modulo
    if a < b {
        let c = a
        a = b
        b = c
    }

    // Get greatest common divisor
    var rest: Int
    while true {
        rest = a! % b!

        if rest == 0 {
            return b! // Found it
        } else {
            a = b
            b = rest
        }
    }
}

1 个答案:

答案 0 :(得分:5)

更新:我已经改写了我的回答,因为我认为你真的想要inout,但你没有。{所以......

可以找到动机here。 tl; dr是:varinout混淆,并没有增加太多价值,所以摆脱它。

因此:

func myFunc(var a: Int) {
    ....
}

变为:

func myFunc(a: Int) {
    var a = a
    ....
}

因此您的代码将成为:

class func gcdForPair(a: Int?, _ b: Int?) -> Int {
    var a = a
    var b = b
    // Check if one of them is nil
    if b == nil || a == nil {
        if b != nil {
            return b!
        } else if a != nil {
            return a!
        } else {
            return 0
        }
    }

    // Swap for modulo
    if a < b {
        let c = a
        a = b
        b = c
    }

    // Get greatest common divisor
    var rest: Int
    while true {
        rest = a! % b!

        if rest == 0 {
            return b! // Found it
        } else {
            a = b
            b = rest
        }
    }
}