0

嗨,我正在开发一个应用程序,该应用程序根据用户设置的一组上限和下限创建一个NSArrayof 。NSNumbers在这些范围内将有至少 5000 个随机创建的数字......

我正在尝试找出最好的方法来获取NSNumber出现在数组中的每个随机生成的频率。

目前我在想我需要通过一些(?)来解析它并设置一个NSDictionary键作为数字和它出现的频率。然而,它试图在我的思绪冻结的情况下有效地做到这一点......

4

1 回答 1

2

最简单的方法是使用 NSCountedSet。只需使用 initWithArray 从您的数组创建一个集合,它将唯一的项目(每个值只会进入一次),但会为您提供遇到特定对象的次数的计数。这是一个例子:

    NSArray *array = @[@1,@2,@3,@5,@7,@2,@1,@3,@9,@3,@1];
    NSCountedSet *set = [[NSCountedSet alloc] initWithArray:array];
    NSLog(@"%@",set);
    for (NSNumber *num in [set allObjects]) {
        NSLog(@"Number is: %@  Count is: %d",num, [set countForObject:num] );
    }
于 2012-08-10T23:48:11.480 回答