更新Xcode版本到9.0后鸟顺,突然發(fā)現(xiàn)對于如下代碼會報錯,看到錯誤我一臉懵逼?讯嫂?
var i = 1
var a = i++
很簡單的代碼蹦锋,為何有錯誤?欧芽?把變量修改成Double莉掂、Float其他數(shù)值類型也是一樣的錯誤,我試著通過Swift的運算符重載功能千扔,添加如下代碼支持++前置:
prefix func ++<T:Numeric>(num: inout T) ->T{
num +=1
return num
}
添加如下代碼支持++后置:
postfix func ++<T:Numeric>(num: inout T) ->T{
num +=1
return num-1
}
添加后憎妙,不管是Int/Double都可以使用++了,
var d:Double = 2.3
var n:Int = 4
d++ ; ++d
n++; ++n