我想知道程序中的指针是否指向Class类型。
就像是:
if ([anObject isKindOfClass:[Class class]]])
这是一个错误,因为[Class class]
不存在。
我可以进入的壁橱是这样的:
NSLog(@"Will run");
const char *nameOfClass = class_getName(@"DoesNotExist");
if (nameOfClass == NULL || (strlen(nameOfClass) == 0)
{
NSLog(@"Not a class");
} else {
NSLog(@"String: %s", nameOfClass);
}
NSLog(@"Did run");
一个空的const char *nameOfClass
告诉我它实际上不是Class
对象。还有其他想法吗?
有一个名为的Obj-C运行时函数object_isClass
。
#import <objc/runtime.h>
if (object_isClass(anObject))
另一个有效的方法是使用class_isMetaClass(object_getClass(anObject))
,因为类的类是元类。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句