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



我需要获得NSDictionary内部数组中对象的计数。例如:

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

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

我的问题是怎样才能得到数组中的计数?

我试试这个:

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

但我得到了这个错误:

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

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

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

开始:

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

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

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

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

  NSDictionary *res=[NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableLeaves error:&error1];
  NSLog(@"%d",[[res valueForKey:@"result"] count]);

最新更新