2012-02-27 60 views

回答

2

所有类别的NSObject的类继承有几个方法来测试继承,行为和一致性:

– isKindOfClass: 
– isMemberOfClass: 
– respondsToSelector: 
– conformsToProtocol: 

在你的情况下使用isKindOfClass:方法:

if ([someObject isKindOfClass:[NSString class]]) {...} 
if ([someObject isKindOfClass:[NSDictionary class]]) {...} 
0

isKindOfClass:消息是你的朋友:

id value = [dict [email protected]"foo"]; 

BOOL isString = [value isKindOfClass:[NSString class]]; 
BOOL isDict = [value iskindOfClass:[NSDictionary class]]; 

NSLog(@"is string:%i\tis dictionary:%i", isString, isDict); 

参考资料:NSObject Protocol Reference

5

你要测试使用isKindOfClass。

例如:

 
NSObject *object = [dict objectForKey:@:"key"]; 
if ([object isKindOfClass:[NSString class]]) 
{ 
    // it's a string 
} 
else if ([object isKindOfClass:[NSDictionary class]]) 
{ 
    // it's a dictionary 
}