小编典典

Objective-C 可以打开 NSString 吗?

all

有没有更智能的方法来重写这个?

if ([cardName isEqualToString:@"Six"]) {
    [self setValue:6];
} else if ([cardName isEqualToString:@"Seven"]) {
    [self setValue:7];
} else if ([cardName isEqualToString:@"Eight"]) {
    [self setValue:8];
} else if ([cardName isEqualToString:@"Nine"]) {
    [self setValue:9];
}

阅读 108

收藏
2022-08-27

共1个答案

小编典典

不幸的是,他们不能。这是 switch 语句的最佳和最受追捧的用法之一,因此希望他们能够加入(现在)Java(和其他)潮流!

如果您正在使用卡片名称,则可能为每个卡片对象分配一个整数值并打开它。或者可能是一个枚举,它被视为一个数字,因此可以打开。

例如

typedef enum{
  Ace, Two, Three, Four, Five ... Jack, Queen, King

} CardType;

这样一来,Ace 就等于 case 0,2 等于 case 1,以此类推。

2022-08-27