1. ホーム
  2. objective-c

[解決済み] Objective-Cで、Javaの "instanceof "キーワードに相当するものは何ですか?

2022-04-13 15:45:15

質問

あるオブジェクト(例えば someObject ) が別の型の変数に代入可能 (キャスト可能) であることを示します。 SpecifiedType ). Javaでは、こう書ける。

someObject instanceof SpecifiedType

これに関連して、あるオブジェクトの実行時型が他の型と等しいかどうかを調べる問題があります。Javaでは、こう書くことができる。

someObject.getClass().equals(SpecifiedType.class)

Objective-Cではどうすればいいのでしょうか?

どのように解決するのですか?

試す [myObject class] は、オブジェクトのクラスを返します。

との厳密な比較ができる。

if ([myObject class] == [MyClass class])

を直接使用することはできませんが MyClass の識別子を使用します。

同様に、オブジェクトが自分のクラスのサブクラスであるかどうかを調べるには

if ([myObject isKindOfClass:[AnObject class]])

Jon Skeetとzoulが提案したように。