编码以下内容的更好方法是什么?有一些条件代码可以检查reviewStarsNumber的int值,然后根据结果显示适当的uiimage。目前似乎很长,我在想可以简化它。
谢谢你的帮助
if ([reviewsStarsNumber intValue] == 0) {
UIImage *img = [UIImage imageNamed:@"hstars-0.png"];
[self.reviewStars setImage:img];
}
if ([reviewsStarsNumber intValue] == 10) {
UIImage *img = [UIImage imageNamed:@"hstars-0_5.png"];
[self.reviewStars setImage:img];
}
if ([reviewsStarsNumber intValue] == 20) {
UIImage *img = [UIImage imageNamed:@"hstars-1_0.png"];
[self.reviewStars setImage:img];
}
if ([reviewsStarsNumber intValue] == 30) {
UIImage *img = [UIImage imageNamed:@"hstars-1_5.png"];
[self.reviewStars setImage:img];
}
if ([reviewsStarsNumber intValue] == 40) {
UIImage *img = [UIImage imageNamed:@"hstars-2_0.png"];
[self.reviewStars setImage:img];
}
if ([reviewsStarsNumber intValue] == 50) {
UIImage *img = [UIImage imageNamed:@"hstars-2_5.png"];
[self.reviewStars setImage:img];
}
if ([reviewsStarsNumber intValue] == 60) {
UIImage *img = [UIImage imageNamed:@"hstars-3_0.png"];
[self.reviewStars setImage:img];
}
if ([reviewsStarsNumber intValue] == 70) {
UIImage *img = [UIImage imageNamed:@"hstars-3_5.png"];
[self.reviewStars setImage:img];
}
if ([reviewsStarsNumber intValue] == 80) {
UIImage *img = [UIImage imageNamed:@"hstars-4_0.png"];
[self.reviewStars setImage:img];
}
if ([reviewsStarsNumber intValue] == 90) {
UIImage *img = [UIImage imageNamed:@"hstars-4_5.png"];
[self.reviewStars setImage:img];
}
if ([reviewsStarsNumber intValue] == 100) {
UIImage *img = [UIImage imageNamed:@"hstars-5_0.png"];
[self.reviewStars setImage:img];
}
最佳答案
如果您重命名图像,则可以执行以下操作:
NSUInteger number = [reviewsStarsNumber intValue]
NSString *imageName = [NSString stringWithFormat:@"hstarts-%d.png", number];
UIImage *img = [UIImage imageNamed:imageName];
[self.reviewStars setImage:img];
关于iphone - 如何更有效地编写一些条件代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14526417/