0

こんにちは、ユーザーが設定した上限と下限のセットに基づいてNSArrayofを作成するアプリに取り組んでいます。NSNumbersこれらの境界内にランダムに作成された 5000 の最小数があります...

NSNumber配列に表示されるランダムに生成されたそれぞれの頻度を取得するための最良の方法を見つけようとしています。

現在、私はそれをいくつか(?)で解析NSDictionaryし、キーを数値として設定し、出現頻度を設定する必要があると考えています。しかし、実際にこれを効率的に実行しようとすると、頭が固まってしまいます...

4

1 に答える 1

2

最も簡単な方法は、NSCountedSet を使用することです。initWithArray を使用して配列からセットを作成するだけで、アイテムが一意になりますが (各値は 1 回だけ入力されます)、特定のオブジェクトが検出された回数がカウントされます。次に例を示します。

    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 に答える