どのように私はヒントについて次のコードをどのように乾燥させることができますか?
- (void)updateLetterScore { // NOT DRY... Must fix
if (percentScore < 60.0)
letterLabel.text = [NSString stringWithFormat:@"F"];
if (percentScore > 59.0 && percentScore < 64.0)
letterLabel.text = [NSString stringWithFormat:@"D-"];
if (percentScore > 64.0 && percentScore < 67.0)
letterLabel.text = [NSString stringWithFormat:@"D"];
if (percentScore > 66.0 && percentScore < 70.0)
letterLabel.text = [NSString stringWithFormat:@"D+"];
if (percentScore > 69.0 && percentScore < 74.0)
letterLabel.text = [NSString stringWithFormat:@"C-"];
if (percentScore > 73.0 && percentScore < 76.0)
letterLabel.text = [NSString stringWithFormat:@"C"];
if (percentScore > 76.0 && percentScore < 80.0)
letterLabel.text = [NSString stringWithFormat:@"C+"];
if (percentScore > 79.0 && percentScore < 84.0)
letterLabel.text = [NSString stringWithFormat:@"B-"];
if (percentScore > 83.0 && percentScore < 86.0)
letterLabel.text = [NSString stringWithFormat:@"B"];
if (percentScore > 85.0 && percentScore < 90.0)
letterLabel.text = [NSString stringWithFormat:@"B+"];
if (percentScore > 89.0 && percentScore < 94.0)
letterLabel.text = [NSString stringWithFormat:@"A-"];
if (percentScore > 93.0 && percentScore < 100.0)
letterLabel.text = [NSString stringWithFormat:@"A"];
if (percentScore == 100)
letterLabel.text = [NSString stringWithFormat:@"A+"];
}
おかげで(自分を繰り返してはいけない)私の次のコード「DRY」を作ることができます。私はちょうどあなたが何を考えているのか知りたいのですが、このちょっとしたことは私のコードでは大変見えるからです。 (私は客観的Cを知らないので、擬似コード)
主な質問を無視して、なぜあなたは+ stringWithFormat :?を使用していますか?あなたの文字列には書式情報がまったくありませんので、文字列をただちに割り当ててください。例えば letterLabel.text = @ "A"; –