Swiftで遊ぼう! - 246 - as、as?、as!再び
Swiftで遊ぼう!の古い記事-> Life-LOG OtherSide
とうとうApple Watchが発表されました! かなりタイムラグがありますが、この記事、発表時に書かれているんですよ。
私はApple Watchより新しいMacBook12inchが気になりました。とうとうレチナディスプレイがAirサイズの筐体に載ってきたんで興味津々。
今メインで使っている13inchAirで何の問題も無いのですが、高精細なレチナディスプレイを待っていたんです。
欲を言えば、メモリーに16GB欲しいところですね。アップルストアで確認すると、8GBしか選択できないような...
やっぱり少し待ちですね。
さて、久しぶりに本家Swift Blogを覗いてみると、Swift1.2とXcode6.3betaが出てたんですね。
ポール先生が講義ではβ版を使わないということなのでXcodeを6.2にアップデートするにとどめました。
そして次のエントリーが「The as! Operator」でしたね。
私にはグッドタイミングの内容ですよ。AnyObjectで悩み、Type Castingで苦しみ、「as」の使い方を習得しなければならないところだったんで。
- Guaranteed conversion(保証された変換):他のタイプへの変換が保証されている変換のことですね。これはSwiftコンパイラーで保証されている。例えば、アップキャスティング(上位のクラスに変換する場合)とか、文字タイプの特定( 1 as Float)などである。
- Forced conversion(強制的に変換):Swiftコンパイラーで保証されていないタイプへの変換で、これはランタイム時にエラーに陥る可能性がある。例えば、サブクラスへダウンキャストする場合だ。
Swift1.2以前のバージョンでは、この二種類を区別させるサフィックスは用意されてい無かったんですが、今回、「as」に「!」をつけると強制的変換を意味し、「?」をつけるとオプショナルを意味するようになりました。
これでキャスティングの扱いが明示的になり扱いやすくなりましたね。
今日はここまで。