0

ランダムに生成された 7 つの数値を保持する NSMutableSet を作成しました。それらをセットから引き出して、switch ステートメントを使用してランダムに生成された各数値を特定の文字列に設定できるようにしたいと考えています。どうすればこれをやってのけることができますか?

-(IBAction)goGenerate:(id)sender
{
    NSMutableSet *eventNumbers = [[NSMutableSet alloc] initWithCapacity:7];

    while ([eventNumbers count] < 7)
    {
        NSNumber *randomNumber = [NSNumber numberWithInt:(arc4random() % 13 + 1)];

        [eventNumbers addObject:randomNumber];
    }

    //NSLog(@"eventNumbers : %@ \n\n", eventNumbers);


    //NSArray *events = [eventNumbers allObjects];

}

4

1 に答える 1

1

そのため、switch ステートメントを使用して、ランダムに生成された各数値を特定の文字列に設定できます。

NSNumber を NSString に変換することはできませんが、1 つのオブジェクトを削除して別のオブジェクトに置き換えるか、次のように新しいセットを作成することができます。

NSMutableSet *eventStrings = [NSMutableSet set];
for (NSNumber *item in eventNumbers) {
    switch (item.intValue) {
        case 1: {
            [eventStrings addObject:@"The string for number 1."];
            break;
        }
        case 2: {
            [eventStrings addObject:@"The string for number 2."];
            break;
        }
        case 3: {
            [eventStrings addObject:@"The string for number 3."];
            break;
        }
        default: {
            NSLog(@"Oops, got a number I wasn't expecting!"
            break;
        }
    }
}
NSLog(@"The set of randomly selected strings is: %@", eventStrings);
于 2013-08-13T18:45:20.307 に答える