判断指针变量的实际类型

为了保证程序能正常进行,一般建议在执行强制类型转换之前判断该对象是否为该类,或其子类的实例

- (BOOL)isKindOfClass:(Class)aClass;//判断该对象是否为class或其子类的实例
- (BOOL)isMemberOfClass:(Class)aClass;//判断该对象是否为aClass类的实例
+ (BOOL)isSubclassOfClass:(Class)aClass;//这是一个类方法,用于判断当前是否为aClass的子类

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        NSObject *hello = @"hello";
        NSLog(@"字符串是否是NSObject类的实例:%d",[hello isKindOfClass:[NSObject class]]);
        
    }
    return 0;
}

输出:

2016-02-14 16:49:13.169 判断指针变量的实际类型[3318:1203155] 字符串是否是NSObject类的实例:1
Program ended with exit code: 0

上方简单的举例,我们可以通过输出是1或者0判断是否为真。。。

你可能感兴趣的:(ios,C语言,Class,判断指针变量的实际类型)