如何在Cocoa中访问大型NSDictionary的特定子集?

e.J*_*mes 3 cocoa subset nsdictionary

我有一个NSDictionary对象,其中包含大量自定义对象.对象将是B类或C类,它们都从A类继承.如果对象是B类,它们将有一个内部标志(kindOfCIsh),用于将来的分组.

在程序的不同时间,如何获得包含这些对象的不同分组的NSDictionary(或NSArray)?在一种情况下,我将需要所有B,但另一次我将需要所有C对象,以及满足(kindOfCIsh == true)的B对象.

有没有一种简单的方法来访问这些子集?也许使用过滤谓词?当然,我可以遍历整个字典并手动构建所需的子集,但我感觉有更好的方法.

任何帮助表示赞赏.

小智 8

[[myDictionary allValues] filteredArrayUsingPredicate:pred];