1、判断对象中是否有这个方法可以执行
Person *p1 = [Person new];
BOOL res = [p1 respondsToSelector:@selector(study)];
NSLog(@"res = %d",res);
2、判断该类中是否有这个对象方法可以执行(不判断是否有类方法)
BOOL res3 = [Person instancesRespondToSelector:@selector(sayHi)];
NSLog(@"res3 = %d",res3);
3、判断该对象是否是指定类或者指定类的子类对象
BOOL res1 = [p1 isKindOfClass:[Person class]];
NSLog(@"res1 = %d",res1);
4、判断该对象是否是指定类的对象,不包括指定类的子类
Student *s1 = [Student new];
BOOL res2 = [s1 isMemberOfClass:[Student class]];
NSLog(@"res2 = %d",res2);
5、判断指定类是否为另一个类的子类
BOOL res4 = [Student isSubclassOfClass:[Person class]];
NSLog(@"res4 = %d",res4);