XcodeでSwiftの型を把握する


Swiftは型推論機能が備わっているプログラミング言語です。
そうでない言語と比べると型を明示的に書く必要がないため、
すっきり書くことができます。

しかし、型推論を利用して書かれたコードに修正を入れるときに
そこで使われている型を把握する必要があるかもしれません。

let number = getNumber()

このコードを例にとると
numberという定数、getNumberの返り値は
Int? Float? Double? NSNumber?
と選択肢が複数あり、この1行では判断できません。

private func getNumber() -> Float {
   return 1.0
}

・関数の実装にJumpすると把握できますがJump前にいた場所に戻る手間がかかります。

print(number.dynamicType) // Float

・printで表示もできますが実行する必要が有ります。

・Xcodeでちょっと書いて補完して見るのもありですがやや面倒です。
あと補完が働かない時や遅い時があるので安定しません。

上記の方法が有効ではないというわけではないのですが、
例に取ったようなコードが複数あると把握する作業に時間が取られると思います。

他に方法ないの?

最後になってしまいましたが、おそらく一番楽そうな方法を紹介します。

まず、Xcode調べたい変数にカーソルを移動して

Xcodeの右メニュー(Utilities)を表示して左から二つ目の項目を見ましょう。

定数の情報が載っています。

let number: Float

関数にカーソルオーバーすると

こんな感じです。

クロージャの情報も見れます。

let closure: (Int -> String) = { intValue in
    return String(intValue)
}

let any = closure(1)


カーソル移動だけで型を把握できるので楽かなと思います。

まとめ

今回学んだことはたまには自分の使っている
ツールやコーディングの仕方を見直すことも大事だと思いました。

今までは、型を調べる時にCommand+Clickで定義にJumpして調べる方法を取っていました。
あ、Quick Help見ながらの方が早かったな、と思う事例があったので
次回からはこの方法を選択肢に入れて楽しいSwiftライフを送っていきたいです。

\(^o^)/