此代码
if ( [currentValue isKindOfClass:NSClassFromString(@"NSString")] ) {
CBDebug(@"this is a string");
当currentValue的类型为__NSCFString
时,效果很好
但如果类型为__NSCFConstantString
我该如何解决? (我在OSX上)
感谢
答案 0 :(得分:4)
试试这个:
if ( [currentValue isKindOfClass:[NSString class]] ) {
CBDebug(@"this is a string");
}
答案 1 :(得分:3)
请尝试以下方法,而不是检查班级的文本字符串:
[myObject isKindOfClass:[NSString class]]
答案 2 :(得分:0)
试试这个[obj isKindOfClass:[NSString class]];
通常,在测试可能无法使用的类名时,您只需要NSClassFromString
注意:在类集群表示的对象上使用isKindOfClass:
方法时要小心。由于类集群的性质,您获得的对象可能并不总是您期望的类型。如果接收器某处继承自作为参数传递的类,则isKindOfClass:
将返回YES。