[Swift]型変換について

AppleのSwift解説を読んで、型変換について確認しよう。

数値型の変換

The Swift Programming Language (Swift 2): The Basics

Numeric Type Conversion

この場合は、Conversionと呼ぶんだね。

Int から Doubleへの変換

let a: Int = 2
let b: Double = Double(a)

Double から Intへの変換

let c: Double = 5.98
let d: Int = Int(c)
// d は 5になる
Type Casting

The Swift Programming Language (Swift 2): Type Casting

down casting。クラスをそのサブクラスに変換する場合。

Cocoa APIで配列を扱う場合に、Objective-Cの配列が型を明示していなかったのを引き継いでいるので、[AnyObject]が返ってくる。
その際に、型を指定したい場合、ダウンキャストする必要がある。

• as? を使う
as?を使うと、Optionalな値を返す。ダウンキャストができない場合はnilを返す。

• as! を使う
as!を使うと、ダウンキャストができない場合は、実行時エラーになる。
as!を使うのは、ダウンキャストが必ずうまくいくと分かっている場合に用いること。

コメントする

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください