【Swift4】クラスの判定(型を比較)する方法【Objective-C】

クラスの判定(型を比較)する方法です。
Swift4ではクラスの判定方法は2種類あります。

あるクラスを継承しているか比較する方法

Swift4

 

Objective-C

 

UILabelクラスのインスタンスをUIView、UILabelのクラスと比較しています。
この場合どちらも一致になります。

UILabelは「NSObject→UIResponder→UIView→UILabel」という継承順でできています。
ですのでUILabelの親クラスであるUIViewも一致という判定になってしまいます。

 

特定のクラスであるか判定する方法

Swift4

 

Objective-C

 

こちらも、UILabelクラスのインスタンスをUIView、UILabelのクラスと比較しています。
この場合、UIViewは不一致、UILabelのみ一致となります。

Objective-Cの場合、一度クラス名を取得したあとにさらに文字列一致で判定する方法で同じような実装を実現しています。