“变种”参数被取消,并将在斯威夫特3的UIImage被删除的Gif
问题描述:
我刚更新的Xcode 7.3,现在我得到这样的警告:“变种”参数被取消,并将在斯威夫特3的UIImage被删除的Gif
“变种”参数被取消,并将在斯威夫特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
}
}
}
答
更新:我已经重述我的答案,因为我想你其实想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
}
}
}
我尝试,但同样的问题 HTTP://i.imgur .com/WSggY1Z.png –
至少你解决了我的脑冻结问题,我用'let'代替'var'。但是,在函数定义中没有'a:'。这是什么原因导致你的问题? – Michael
不管它在那里,但问题是修复程序告诉我要删除它! ,并且在功能上没有变化oO –