NSDictionary - 需要检查字典是否包含键值对

时间:2010-02-03 06:13:04

标签: ios objective-c nsdictionary

我只需要问下面的内容。 假设我有一本字典。

NSMutableDictionary *xyz=[[NSMutableDictionary alloc] init];
[xyz setValue:@"sagar" forKey:@"s"];
[xyz setValue:@"amit" forKey:@"a"];
[xyz setValue:@"nirav" forKey:@"n"];
[xyz setValue:@"abhishek" forKey:@"a"];
[xyz setValue:@"xrox" forKey:@"x"];

现在,我需要检查如下

[xyz确实包含键“b”值?是否配对?

问题是如何?

另一个问题是如何计算总键值对?

比如说NSInteger mCount=[xyz keyCounts];

1 个答案:

答案 0 :(得分:183)

只需询问objectForKey:@"b"即可。如果它返回nil,则不会在该键处设置任何对象。

if ([xyz objectForKey:@"b"]) {
    NSLog(@"There's an object set for key @\"b\"!");
} else {
    NSLog(@"No object set for key @\"b\"");
}

修改:关于您编辑的第二个问题,它只是NSUInteger mCount = [xyz count];。这两个答案都很好地记录在NSDictionary类引用([1] [2])中。