我需要获得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]);