[ОБНОВЛЕНИЕ]
Обнаружил этот метод в некоторых публикациях на C ++, который, хотя и не полностью динамический, выполняет свою задачу с минимальной суетой:
Добавление диапазонов в записи enum:
enum {
ValidationLoginFailed=2000,
ValidationSessionTokenExpired=2001,
ValidationSessionTokenInvalid=2002,
ValidationEmailNotFound=2003
ValidationSucccesMIN=ValidationLoginFailed,
ValidationSucccesMAX=ValidationEmailNotFound,
ValdationValidSuccessCode=9999,
ValdationInvalidCode=10000
};
typedef int ValidationStatusCodes;
затем что-то вроде этого:
-(ValidationStatusCodes)isReponseCodeValid{
for (int i=ValidationSucccesMIN; i<=ValidationSucccesMAX; i++) {
if(returnCode==i){
return ValdationValidSuccessCode;
}
}
return ValdationInvalidCode;
}
очевидно, что в конечном приложении гораздо больше, чем просто эти 4 кода, и будет также блок соответствующих ошибочных кодов.