'var' 参数已弃用,将在 Swift 3 UIimage Gif 中删除
'var' parameters are deprecated and will be removed in Swift 3 UIimage Gif
我刚刚将 Xcode 更新到 7.3,现在我收到了这个警告:
'var' parameters are deprecated and will be removed in Swift 3
我需要在这个函数中使用变量:
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
}
}
}
更新:我改写了我的回答,因为我认为你真的想要 inout
,但你不需要。所以...
可以找到动机here。 tl;dr 是:var
与 inout
混淆并且它没有增加太多价值,所以摆脱它。
因此:
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
}
}
}
我刚刚将 Xcode 更新到 7.3,现在我收到了这个警告:
'var' parameters are deprecated and will be removed in Swift 3
我需要在这个函数中使用变量:
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
}
}
}
更新:我改写了我的回答,因为我认为你真的想要 inout
,但你不需要。所以...
可以找到动机here。 tl;dr 是:var
与 inout
混淆并且它没有增加太多价值,所以摆脱它。
因此:
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
}
}
}