fut*_*te7 207 objective-c
如何在Objective-C中测试对象是否是特定类的实例?假设我想看看对象a是b类的实例,还是类c,我该怎么做呢?
Vla*_*mir 344
要测试object是否是类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.
Run Code Online (Sandbox Code Playgroud)
要么
[yourObject isMemberOfClass:[a class]]
// Returns a Boolean value that indicates whether the receiver is an instance of a
// given class.
Run Code Online (Sandbox Code Playgroud)
要获取对象的类名,可以使用NSStringFromClass函数:
NSString *className = NSStringFromClass([yourObject class]);
Run Code Online (Sandbox Code Playgroud)
或来自objective-c运行时api的c函数:
#import <objc/runtime.h>
/* ... */
const char* className = class_getName([yourObject class]);
NSLog(@"yourObject is a: %s", className);
Run Code Online (Sandbox Code Playgroud)
编辑:在斯威夫特
if touch.view is UIPickerView {
// touch.view is of type UIPickerView
}
Run Code Online (Sandbox Code Playgroud)
Cle*_*t M 21
你也可以使用
NSString *className = [[myObject class] description];
Run Code Online (Sandbox Code Playgroud)
在任何NSObject上
| 归档时间: |
|
| 查看次数: |
142500 次 |
| 最近记录: |