NSDictionary计数
我怎么能算出“账单”里面有多less呢?
bills = ( { id = 1; name = "Cursus Nibh Venenatis"; value = "875.24"; }, { id = 2; name = "Elit Fusce"; value = "254.02"; } );
我这样计算:
NSUInteger keyCount = [resultsDictionary count]; NSLog(@"%i", keyCount);
谢谢!
一个天真的解决scheme会假设OP要计算bills
,这恰好是一个数组,所以解决scheme将是
NSLog(@"Count: %i", [[resultsDictionary objectForKey: @"bills"] count]);
然而,如果你有一个以上的对象的字典,你想要计数,那么枚举它们是唯一的方法。
NSUInteger keyCount = [resultsDictionary count]; NSLog(@"%i", keyCount);
是真的,但你也可以使用[resultsDictionary allKeys];
这将返回一个键数组,你可以直接得到它的计数。 欲了解更多信息,请访问文档 :v
NSUInteger count = [bills count];
//字典中的顶级项目
如果你想得到所有的项目,那么你需要使用块枚举和recursion问每个字典什么是计数,然后求和。 你必须编写代码 – 没有系统提供的方法来做到这一点。 查看类参考中的块枚举(即枚举….)。
你也可以问每个项目是什么 – 如果是“isKindOf:”NSDictionary或NSArray,得到计数,否则视为1。
NSMutableArray *billsArray =[[NSMutableArray alloc] init]; billsArray = [resultsDictionary valueForKey:@"bills"];//returns array NSUInteger keyCount = [billsArray count]; NSLog(@"%i", keyCount);
我认为这对你有帮助。