これを書き直すより賢い方法はありますか?
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 と同じになります。