#import <Foundation/Foundation.h>
#import "ClassA.h"//新建a是NSObecjt的子类,b是a的子类
#import "ClassB.h"
int main(int argc, const char * argv[]) {
@autoreleasepool {
//构建类名,构建的都是ClassA
Class className = NSClassFromString(@"ClassA");
Class className2 = [ClassA class];
//1.查看某个对象是否是某个类的对象
ClassB *b = [[ClassB alloc]init];
BOOL isYes1 = [b isMemberOfClass:[ClassB class]];
BOOL isYes2 = [b isMemberOfClass:[ClassA class]];
NSLog(@"b%@ClassB的对象",isYes1?@"是":@"不是");
//,出错三目运算法 要是? -> :
NSLog(@"b%@ClassA的对象",isYes2?@"是":@"不是");
//2.查看某个对象是否是某个类的派生对象 -》b是否是B的或B的父类的对象
BOOL isYes3 = [b isKindOfClass:[ClassB class]];
BOOL isYes4 = [b isKindOfClass:[ClassB class]];
NSLog(@"b%@ClassB的派生对象",isYes3?@"是":@"不是");
NSLog(@"b%@ClassA的派生对象",isYes4?@"是":@"不是");
}
return 0;
}
2016-01-18 19:00:02.531 Foundation 对象与类的关系[3854:595807] b是ClassB的对象
2016-01-18 19:00:02.533 Foundation 对象与类的关系[3854:595807] b不是ClassA的对象
2016-01-18 19:00:02.533 Foundation 对象与类的关系[3854:595807] b是ClassB的派生对象
2016-01-18 19:00:02.533 Foundation 对象与类的关系[3854:595807] b是ClassA的派生对象
Program ended with exit code: 0
Day.01.18 Foundation 对象与类的关系
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。