如何在NSDictionary中的NSArray中获取对象的数量

时间:2013-12-17 03:24:44

标签: ios objective-c nsarray nsdictionary

我需要计算NSDictionary中数组中的对象。例如:

po _dictionary
{
    keys =     (
        "one",
        "two"
    );
}

考虑到这是一个数组:[_dictionary objectForKey:@"keys"]

我的问题是如何才能获得数组中的计数?

我试试这个:

[[[_tutorials objectForKey:@"keys"]  allKeys ]count];

但是我收到了这个错误:

  

* 由于未捕获的异常而终止应用   'NSInvalidArgumentException',原因:' - [__ NSCFArray allKeys]:   无法识别的选择器发送到实例0xa419ea0'

5 个答案:

答案 0 :(得分:3)

[_dictionary objectForKey:@"keys"]NSArray而不是NSDictionary。因此,它不了解allKeys方法。放下它应该可以工作:

[[_dictionary objectForKey:@"keys"] count];

答案 1 :(得分:0)

NSLog(@"%d", [[_dictionary objectForKey:@"keys"] count]);

由于您的[_dictionary objectForKey:@"keys"]是一个数组,您可以直接获得计数。

答案 2 :(得分:0)

你走了:

NSLog(@"%lu", _dictionary[@"keys"].count);

答案 3 :(得分:0)

NSDictionary有一种获取NSArray密钥的方法,我发现它比使用objectForKey:

更具可读性
[[_dictionary allKeys] count]

答案 4 :(得分:0)

  NSDictionary *res=[NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableLeaves error:&error1];

  NSLog(@"%d",[[res valueForKey:@"result"] count]);