あるべるのIT関連メモ

素人エンジニアが何かするときに困ったものなどを参考程度にメモっておこうかと

Swift - ダウンキャスト(as, as!, as?)

ほんとはオプショナル型の〜とか説明が必要なのだけど

  • as
    アップキャストなど確定的なキャストに使用。

  • as!
    強制キャスト。C++でいうところのreinterpret_cast。
    強制キャストなので実行時エラーを起こす可能性がある。

  • as?
    C++でいうところのdynamic_cast。
    キャストに失敗した場合はnilを返す。

とりあえずざっくりとC++プログラマ向けの対比。