NSClassFromString()用于利用一个字符串来创建一个类,例如:
NSString *responseClass =@“MyModel”;
MyModel *model=[[NSClassFromString(responseClass) alloc] init];
NSStringFromClass()是获取与类型名称同名字的字符串,例如:
MyModel *model=[MyModel alloc] init];
NSString *responseClass =NSStringFromClass([model class]);
这里一定要注意NSStringFromClass()中要传的参数为Class类型,不要直接把model传进去。
这两个函数一般用在什么地方呢?
1.用下一些用到反射设计模式的框架上,动态创建类的对象
2.用于一些逻辑的判断。
对于第一种应用,熟悉框架的开发者应该都用过,简单说下第二种
比如我判断返回的model类型是不是NSDictionary类型
Bool bb=[[model class] isKindOfClass:[NSDictionary class]] ;
或者
Bool cc=([model class]==[NSDictionary class]]);
或者
Bool dd=NSStringFromClass([[model class]isEqualToString:@“ NSDictionary”]
————————————————
版权声明:本文为CSDN博主「一步一台阶」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/liufangbaishi2014/article/details/50328309
网友评论