我有一个名为“content”的字典键,可以是NSArray或Bool值。我怎么知道它是什么类型的数据?如果应用程序不是Bool值,则以下代码将使应用程序崩溃。
NSNumber *isSuccessNumber = (NSNumber *)[result objectForKey: @"content"];
答案 0 :(得分:1)
id obj = [result objectForKey:@"content"];
if ([obj isKindOfClass:[NSArray class]]) {
// It's an array!
NSArray *anArray = (NSArray *)obj; // Cast it as such from id.
}
else if ([obj isKindOfClass:[NSNumber class]]) {
// It's a BOOL!
BOOL aBool = [(NSNumber *)obj boolValue]; // Cast it as such from id.
}
答案 1 :(得分:0)
NSObject *obj = [dixtionary objectForKey:@"key"];
if([obj isKindOfClass:[NSString class]])
...
答案 2 :(得分:0)
您可以使用isKindOfClass:方法。
你可以检查它:
if ([[result objectForKey: @"content"] isKindOfClass:[NSArray class]])
{
// array
}
else
{
}