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

标签 cocoa nsdictionary subset

我有一个 NSDictionary 对象,其中包含大量自定义对象。这些对象要么属于 B 类,要么属于 C 类,两者都继承自 A 类。如果对象属于 B 类,它们将有一个内部标志 (kindOfCIsh),用于将来的分组。

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

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

感谢任何帮助。

最佳答案

[[myDictionary allValues]filteredArrayUsingPredicate: pred];

关于cocoa - 如何在 Cocoa 中访问大型 NSDictionary 的特定子集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/442513/

相关文章:

iPhone SDK 嵌套 For 循环性能

objective-c - 使用 NSTextView 伪造 NSTextField 以获得漂亮的颜色?

r - 查找包含超过 5 个 NA 值的列的索引

如果至少有一个组成员满足条件,则从 data.frame 中删除组

objective-c - 从 url 保存图像需要很长时间

arrays - Xcode Swift : Could not cast value of type '__NSCFString' (0x102e8ac50) to 'NSDictionary' (0x102e8b8d0)

ios - __NSDictionaryI setObject :forKey: Crash

ios - 具有关联数据的重复任务的泛型 - Swift

r - 将数据拆分或子集为 30 分钟间隔

cocoa - 绑定(bind)到 NSCollectionViewItem 会使 Xcode 崩溃