ここでの条件付きコードは、反復的で長いようです。より良いアプローチはありますか?NSDictionary オブジェクトの文字列値をテストし、値のプレフィックスに応じて、$、£、¥ の通貨記号を使用した UILabel をテストしたいと考えています。
これが私のコードです(以下に2つの例を示しました。より多くの通貨があり、コードは非常に長いです):
if ([[item objectForKey:@"currency"] isEqualToString:@"EUR"]) {
NSString *priceConvertToStr = [NSString stringWithFormat:@"€%@", [[item objectForKey:@"price"]stringValue]];
NSString *priceStringFix = [priceConvertToStr
stringByReplacingOccurrencesOfString:@"(null)" withString:@""];
priceLabelText.text = priceStringFix;
[imgView2 addSubview:priceLabelText];
}
if ([[item objectForKey:@"currency"] isEqualToString:@"GBP"]) {
NSString *priceConvertToStr = [NSString stringWithFormat:@"€%@", [[item objectForKey:@"price"]stringValue]];
NSString *priceStringFix = [priceConvertToStr
stringByReplacingOccurrencesOfString:@"(null)" withString:@""];
priceLabelText.text = priceStringFix;
[imgView2 addSubview:priceLabelText];
}
if ([[item objectForKey:@"currency"] isEqualToString:@"USD"]) {
NSString *priceConvertToStr = [NSString stringWithFormat:@"$%@", [[item objectForKey:@"price"]stringValue]];
NSString *priceStringFix = [priceConvertToStr
stringByReplacingOccurrencesOfString:@"(null)" withString:@""];
priceLabelText.text = priceStringFix;
[imgView2 addSubview:priceLabelText];
}
助けてくれてありがとう。