我发现了一些看起来像这样的代码:
if (statisticsObject.idag3_orig != 0) {
statisticsView.idag3.text = [NSString stringWithFormat:@"%i",statisticsObject.idag3_orig];
} else {
float compare1 = statisticsObject.idag2;
float compare2 = statisticsObject.idag3;
float result = compare1 + (compare1 * (compare2 / (float) 100.00));
int final = (int)roundf(result);
statisticsView.idag3.text = [NSString stringWithFormat:@"%i",final];
}
if (statisticsObject.igar3_orig != 0) {
statisticsView.igar3.text = [NSString stringWithFormat:@"%i",statisticsObject.igar3_orig];
} else {
float compare1 = statisticsObject.igar2;
float compare2 = statisticsObject.igar3;
float result = compare1 + (compare1 * (compare2 / (float) 100.00));
int final = (int)roundf(result);
statisticsView.igar3.text = [NSString stringWithFormat:@"%i",final];
}
这重复了很多很多次。显然,它感觉不是很干燥,而且使用起来有点痛苦。如何使用变量属性名称循环此逻辑?我认为我采用的方法是 Objective-C 不允许的。这是我尝试过的:
NSArray * properties = [[NSArray alloc] initWithObjects:
@"foo",
@"bar",
@"spam",
nil];
for (id prop in properties) {
NSLog(@"%@",obj.prop);
}
- 笔记 -
我原来的伪代码相当混乱。对于那个很抱歉。
简而言之,我怎样才能重组我上面的代码,这样我就不会不断重复自己?执行的数学运算总是相同的。