IOS开发

在Objective-C中,你可以使用isKindOfClass:和isMemberOfClass:方法来判断一个对象是否是某个特定类或其子类的实例。

如果你想要判断一个id类型的对象实际类型,可以使用class方法和isEqual:方法。

id object = [[NSArray alloc] init];
        
if ([object isKindOfClass:[NSArray class]]) {
    NSLog(@"object 是 NSArray 或其子类的实例");
} else {
    NSLog(@"object 不是 NSArray 或其子类的实例");
}

if ([object isMemberOfClass:[NSArray class]]) {
    NSLog(@"object 是 NSArray 的实例,而不是其子类的实例");
} else {
    NSLog(@"object 不是 NSArray 的实例");
}

// 判断实际类型
Class arrayClass = [NSArray class];
if ([object class] == arrayClass) {
    NSLog(@"object 是 NSArray 的实例");
} else {
    NSLog(@"object 不是 NSArray 的实例");
}