Swiftでクラスを比較する方法(is, typeof(dynamicType))

Pocket

変数の型を調べる記事で、type(of: )を紹介したけど、クラスの型にも使えるよ。

今回はそれプラス is についてを見てみるよ。

swiftでクラスを比較する

こんな感じで指定のクラスかどうかを is クラス名 で判別できるよ。

Humanもtrueになってることから、継承元(スーパークラス)もtrueになることがわかるね。

これはこれで良いんだけど、特定のクラスのみを判別したい場合はtype(of:)を使うよ。

継承元を無視した特定のクラスのみを比較する

今度はHumanがfalseになるのがわかる。

こんな感じで、type(of: インスタンス) == クラス名.self で比較ができるよ。

それぞれの違いを理解しつつ使い分けをしよう。


おわりに

iOS初心者は気軽に参加できるTECH::CAMPオンライン説明会
ガッツリ転職したいなら、【Tech Stars Agent】 がおすすめです!

著者の新規アプリは以下
ハッピーになれるSNSアプリ 'Frieppy'
著者だよ。良かったらフォローしてね
スポンサーリンク
  • このエントリーをはてなブックマークに追加