[解決済み】Objective-Cでオブジェクトがどのクラスであるかをテストするにはどうすればよいですか?
2022-04-12 18:31:47
質問
Objective-Cで、あるオブジェクトが特定のクラスのインスタンスであるかどうかをテストするにはどうすればよいですか?例えば、オブジェクトaがクラスbやクラスcのインスタンスであるかどうかを確認したい場合、どのようにすればよいのでしょうか?
どのように解決するのですか?
オブジェクトがクラスaのインスタンスであるかどうかをテストする。
[yourObject isKindOfClass:[a class]]
// Returns a Boolean value that indicates whether the receiver is an instance of
// given class or an instance of any class that inherits from that class.
または
[yourObject isMemberOfClass:[a class]]
// Returns a Boolean value that indicates whether the receiver is an instance of a
// given class.
オブジェクトのクラス名を取得するには、以下のようにします。
NSStringFromClass
関数を使用します。
NSString *className = NSStringFromClass([yourObject class]);
または objective-c runtime api の c-function を使用します。
#import <objc/runtime.h>
/* ... */
const char* className = class_getName([yourObject class]);
NSLog(@"yourObject is a: %s", className);
EDITです。 Swiftの場合
if touch.view is UIPickerView {
// touch.view is of type UIPickerView
}
関連
-
[解決済み] Objective-CでNSStringsを連結するためのショートカット集
-
[解決済み] Objective-Cの定数
-
[解決済み] FBLoginVIewをカスタマイズするには?
-
[解決済み] Objective-Cで乱数を発生させる
-
[解決済み] カスタムオブジェクトを含むNSMutableArrayをソートするにはどうすればよいですか?
-
[解決済み] Objective-Cで、ある文字列が他の文字列を含んでいるかどうかを調べるにはどうすればよいですか?
-
[解決済み] Objective-Cのtypedef enumとは何ですか?
-
[解決済み] SwiftからObjective-Cのコードを呼び出すにはどうしたらいいですか?
-
[解決済み] Objective-Cで、オブジェクトの種類をテストするにはどうしたらいいですか?
-
[解決済み] Objective-CでNSArrayを逆引きするにはどうしたらいいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Objective-C。NULL、nil、@""の違いは何ですか?
-
[解決済み] Objective-Cでオブジェクトをキャストする方法
-
[解決済み] Objective-Cは構造体の使用を禁じていますか?
-
[解決済み] デバイス用にコンパイルするとApple Mach-Oのリンカーエラーが発生する。
-
[解決済み] クラス vs. #インポート
-
[解決済み] Xcode 4でNSZombieEnabledを設定するにはどうすればよいですか?
-
[解決済み】SwiftのコードをObjective-Cにインポートするにはどうすればいいですか?
-
[解決済み】iOS7でステータスバーを隠すことができない。
-
[解決済み】タイトル変更時に不要なUIButtonのアニメーションを停止させる方法は?
-
[解決済み】UITableViewからセパレータラインを削除する方法はありますか?