0
声明在目前,我有大量的if语句像如何更换大规模如果目标C
if ([dicIdentifer isEqualToString:CONF_KEY_CALLMETHOD]) {
switch ([[settingDictionary objectForKey:PLIST_VALUE] intValue]) {
case CASE_1:
cell.detailTextLabel.text = SOME_TEXT_1
break;
case CASE_2:
cell.detailTextLabel.text = SOME_TEXT_2
break;
case CASE_3:
cell.detailTextLabel.text = SOME_TEXT_3
break;
case CASE_4:
cell.detailTextLabel.text = SOME_TEXT_4
break;
default:
break;
}
} else if ([dicIdentifer isEqualToString:CONF_KEY_HTTPMETHOD]) {
switch ([[settingDictionary objectForKey:PLIST_VALUE] intValue]) {
case CASE_1:
cell.detailTextLabel.text = SOME_TEXT_1
break;
case CASE_2:
cell.detailTextLabel.text = SOME_TEXT_2
break;
case CASE_3:
cell.detailTextLabel.text = SOME_TEXT_3
break;
case CASE_4:
cell.detailTextLabel.text = SOME_TEXT_4
break;
default:
break;
}
} .....
我有十个以上这种类型的“如果”的声明,现在,这个数字很可能会增加。这工作得很好,但在维护和效率方面我认为可以改进。我从Ways to replace massive if statement with alternative construct in Objective-C读取线程。但它似乎不适合我的情况。如果有人会对我的情况提出建议。
谢谢
您可以随时使用字典,其中键为'CASE'值,实际值为'SOME_TEXT'变量。然后,而不是做一个开关,你可以做一个简单的查找和分配。 – 2012-02-20 14:15:35