han*_*Dev 1 iphone objective-c conditional-statements ios
什么是更好的编码方式?有一些条件代码检查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];
}
Run Code Online (Sandbox Code Playgroud)
如果重命名图像,则可以执行以下操作:
NSUInteger number = [reviewsStarsNumber intValue]
NSString *imageName = [NSString stringWithFormat:@"hstarts-%d.png", number];
UIImage *img = [UIImage imageNamed:imageName];
[self.reviewStars setImage:img];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
145 次 |
| 最近记录: |