如何检查id是类定义还是类实例?例如:
Class def =[NSString class];
NSString * inst= @"test";
[self check:def]; // should output "Class"
[self check:inst]; //should output "Instance"
-(void)check:(id)object
{
if(objejct ... ){ // ???
NSLog(@"Instance");
}else{
NSLog(@"Class");
}
}
答案 0 :(得分:3)
你需要
#import <objc/runtime.h>
那么你的检查功能需要看起来像这样
-(void)check:(id)object
{
if(class_isMetaClass(object_getClass(object)))
{
NSLog(@"Class");
}
else
{
NSLog(@"Instance");
}
}