次のようなコードが見つかりました。
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);
}
- ノート -
私の元の疑似コードはかなり混乱していました。申し訳ありません。
簡単に言えば、上記のコードを再構築して、常に同じことを繰り返さないようにするにはどうすればよいでしょうか? 実行される数学演算は常に同じです。