Can Objective-C switch on NSString?

后端 未结 14 1136
不知归路
不知归路 2020-12-04 05:40

Is there a more intelligent way to rewrite this?

if ([cardName isEqualToString:@\"Six\"]) {
    [self setValue:6];
} else if ([cardName isEqualToString:@\"Se         


        
14条回答
  •  执念已碎
    2020-12-04 06:13

    For me, a nice easy way:

    NSString *theString = @"item3";   // The one we want to switch on
    NSArray *items = @[@"item1", @"item2", @"item3"];
    int item = [items indexOfObject:theString];
    switch (item) {
        case 0:
           // Item 1
           break;
        case 1:
           // Item 2
           break;
        case 2:
           // Item 3
           break;
        default:
           break;
    }
    

提交回复
热议问题