Есть ли способ заставить Objective-C поддерживать конструкцию переключателя с несколькими переменными?

Мне было интересно: есть ли способ заставить Objective-C поддерживать переключатель с несколькими переменными ?

Я имею в виду, что очень часто мне приходится иметь дело с проблемами, в которых решение зависит от пары переменных, а не от одной. Для длинного списка значений одной переменной можно использовать простую конструкцию switch / case :

switch (var) {
    case 0: ...
    case 1: ...
    default: ...
}

Но когда вам приходится иметь дело с комбинацией двух значений, вы часто делаете что-то вроде этого:

switch (var1) {
    case 0: 
        switch (var2) {
            case 0: ...
            case 1: ...
        }
    case 1: 
        switch (var2) {
            case 0: ...
            case 1: ...
        }        
    ...
}

И это становится все более и более сложным ... Я бы очень хотел сделать что-то вроде этого:

switch (var1, var2) {
    case (0,0) : ...
    case (1,0) : ...
    case (*,1) : ...
    default: ...
}

, что приведет к более простой и удобочитаемой конструкции. Есть ли какое-нибудь решение для поддержки такой структуры? Или небольшая вариация этого?

16
задан marzapower 8 June 2011 в 16:06
поделиться