字典里某个键key的值可能是空数组~~~那这个[dic objectForkey:key]是什么?
你猜会是[NSNull null]?
也可能不是~~~但至少是个空数组。
[[dic objectForkey:key] count]会告诉我们结果。
下面的代码使用了NSNull来判断字典某个键的值是否为空。但是这种判断方法,似乎对于空集合类不大奏效。
- id object = nil;
- // 判断对象不为空
- if (object) {
- }
- // 判断对象为空
- if (object == nil) {
- }
- // 数组初始化,空值结束
- NSArray *array = [[NSArray alloc] initWithObjects:@"First", @"Second", nil];
- // 判断数组元素是否为空
- NSString *element = [array objectAtIndex:2];
- if ((NSNull *)element == [NSNull null]) {
- }
- // 判断字典对象的元素是否为空
- NSDictionary *dictionary = [NSDictionary dictionaryWithObjectsAndKeys:
- @"iPhone", @"First", @"iPad", @"Second", nil];
- NSString *value = [dictionary objectForKey:@"First"];
- if ((NSNull *)value == [NSNull null]) {
- }