iphone - 算法:在 NSDictionary 中保持键/值对的计数

标签 iphone c objective-c cocoa algorithm

作为 Cocoa 的新手,可能不了解所有可能的可用类,这些类已经将此功能巧妙地包装在 OO 类中,这是一个算法查询。计算特定键在多个 NSDictionary 实例的数组中出现多少次的最佳选择是什么?

本质上,我的数据结构(在本例中为 NSArray)可能在任何给定时间包含多个 NSDictionary 实例,每个实例都具有相同的键,但可能具有不同的值。一些值重复。我想知道特定键/值出现了多少次。示例:

{
  foo => 1,
  bar => 2
}
{
  foo => 1,
  bar => 3
}
{
  foo => 2,
  bar => 1
}

在这种情况下,我感兴趣的是 foo=>1 出现了 2 次,foo=>2 出现了 1 次。构建 NSCountedSet 的实例是解决此问题的最佳方法吗?也许是 C 链表?

最佳答案

您可能需要重新考虑如何构建数据。我会在添加到 NSArray 时跟踪类似的内容,而不是稍后尝试发现它。您可以创建一个新类来处理添加和删除数据,以便您可以保留自己的数据计数。

关于iphone - 算法:在 NSDictionary 中保持键/值对的计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/307695/

相关文章:

ios - 如何在 Swift 的 NSUserDefault 中存储数组?

使用 C 将文件从一个目录复制到另一个目录。在发送目录中打开文件时出现问题。没有这样的文件或目录

iphone - 将 UITextField 设置为不可编辑 - Objective C

c# - 有没有一种简单的方法可以在C#中模拟Objective-C类别?

c - 为什么多了一个数字?

iphone - 判断当前本地时间是否在两个时间之间(忽略日期部分)

iphone - 如何使用 Objective-C 在 iPhone 中查看未接来电?

iphone - NSString 潜在泄漏

iphone - 如何获取 iPhone 中的实时时间,而不是用户在“设置”中设置的时间?

c - if else 函数内的语句......这是一个好习惯?