Xcodeで開発していたら何やら、警告が…
swift3から削除される記法を警告してくれていました。swift3になると完全に使えなくなるので、リファクタリングをしないといけません。
関数の引数のvarの削除
‘var’ parameters are deprecated and will be removed in Swift 3
//Before func foo(var i: Int) { } //After func foo(i: Int) { var i = i }
関数の引数のvarが使用できなくなります。inout と混同するからのようです。
デバッグ用識別子の呼び出しの変更
FILE is deprecated and will be removed in Swift 3, please use #file
//Before print("__FILE__ = \(__FILE__)") print("__LINE__ = \(__LINE__)") print("__COLUMN__ = \(__COLUMN__)") print("__FUNCTION__ = \(__FUNCTION__)") //After print("#file = \(#file)") print("#line = \(#line)") print("#column = \(#column)") print("#function = \(#function)")
インクリメントデクリメント削除
‘++’ is deprecated: it will be removed in Swift 3
//Before i++ //After i += 1
CVarArgType -> CVarArg
//Before CVarArgType... //After CVarArg...
関数呼び出し時一次変数のラベル明示
Establish consistent label behavior across all parameters including first labels
//Before func foo(x:Int, y:Int) { ... } foo(:,y:Int) //After func foo(x:Int, y:Int) { ... } foo(x:Int,y:Int)