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,但您可以删除一个对象并用另一个对象替换它,或者像这样创建一个新集合:

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 回答