嗨,我正在开发一个应用程序,该应用程序根据用户设置的一组上限和下限创建一个NSArray
of 。NSNumbers
在这些范围内将有至少 5000 个随机创建的数字......
我正在尝试找出最好的方法来获取NSNumber
出现在数组中的每个随机生成的频率。
目前我在想我需要通过一些(?)来解析它并设置一个NSDictionary
键作为数字和它出现的频率。然而,它试图在我的思绪冻结的情况下有效地做到这一点......
最简单的方法是使用 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] );
}