Objective-C は NSString に切り替えることができますか? 質問する

Objective-C は NSString に切り替えることができますか? 質問する

これを書き直すより賢い方法はありますか?

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];
} 

ベストアンサー1

残念ながら、それはできません。これは、switch ステートメントの最も優れた、最も求められている利用方法の 1 つなので、(現在) Java (およびその他) の流行に乗ってくれることを期待しています。

カード名を作成する場合は、各カード オブジェクトに整数値を割り当てて、それをオンにします。または、数値として扱われるため、オンにできる列挙型を使用することもできます。

例えば

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

} CardType;

このようにすると、エースはケース 0 と同じになり、ツーはケース 1 と同じになります。

おすすめ記事