Swift 3.0 を触った
Xcode を 8.1 にアップデートすることができたので、私製 Hello, World! 集である moonphases を実行してみることにしました。コンパイラの表示するエラーがとても親切なので、割と簡単に修正ができそうです。
getsurei.swift:13:19: error: 'NSDateFormatter' has been renamed to 'DateFormatter' let format_year = NSDateFormatter() ^~~~~~~~~~~~~~~ DateFormatter getsurei.swift:15:43: error: 'NSDate' is not implicitly convertible to 'Date'; did you mean to use 'as' to explicitly convert? let year = Int(format_year.stringFromDate(date))! ^ as Date getsurei.swift:15:28: error: 'stringFromDate' has been renamed to 'string(from:)' let year = Int(format_year.stringFromDate(date))! ^~~~~~~~~~~~~~ string from: <unknown>:0: note: 'stringFromDate' has been explicitly marked unavailable here
NS の Prefix が削除(さらば NeXTSTEP)されて、stringFromDate()
の書式がちょこっと変更になったみたいです。まとめると下記の修正をすれば動くようになりました。
NSDate() -> Date() NSDateFormatter() -> DateFormatter() stringFromDate(hoge) -> string(from:hoge)
今までコロコロと仕様が変更になってきましたけれど、これが最後でしょうか?そろそろ本格的に触れそうな雰囲気です。
あらら、新月なんですね。