Swift

Swift:Xcode 7 & Swift 2

少し時間ができたので、Xcode 7 & Swift 2を使ってみました。

最初、Convert Latest Swift Syntaxを実行しなかったので表示されたエラーに驚きました。主なものは次の通り。

🔵count(文字列変数)➡️文字列変数.characters.count

🔴&Error➡️削除もしくは返り値の変更が必要(元々あった問題)

🔵varをletに変更。

🔵for a in bをfor a in b.charactersに変更。

🔵使っていない変数➡️削除

⭕️使っているのに使っていないとされる変数の問題。これはXcode 7の勘違いなので無視。

問題なく動きました。

🔴&Error問題は

Xcode 6: 元々、wErrorの中身によらない異常処理をしている。
var wError : NSError?  = nil
if fileManager.contentsOfDirectoryAtPath(xReal, error: &wError) == nil {
return (wContentChildpathList, wContentnameList, wFolderChildpathList, wFoldernameList)
}

Xcode 7: wErrorを使っていないから、定義するなということらしい。この場合、wErrorを削除してもXcode 7で追加されたerrorが生きているので警告はなくならない。自分にとって重要なことは、if文でなくなったこと。
var wError : NSError?  = nil
do {
 try fileManager.contentsOfDirectoryAtPath(xReal)
} catch let error as NSError {
 wError = error
return (wContentChildpathList, wContentnameList, wFolderChildpathList, wFoldernameList)
}

スクリーンショット 2015-09-07 08.24.54

感想:Xcodeのチームはやることに事欠いているか、混乱しているのでは?こんなくだらないものをバージョンアップと称して取り組んでいること自体、Appleにとって無駄な投資でしかない。自分たちの利益ではなく、お客様の利益とか効率とかに配慮できなければ、存続価値がない。もちろん、varをletに置き換えてくれたり、プラス面はあるのだが・・・。

Categories: Swift, 技術