Параметр switch / Case несовместим со сравнением объектов и может сравнивать только с атомарными типами Си, поэтому это решение не может быть использовано.

ыло интересно: есть ли способ сделать поддержку Objective-C мульти-переменнойswitch построить?

Я имею в виду, что очень часто мне приходится сталкиваться с проблемами, решение которых зависит от пары переменных, а не от одной. Для длинного списка значений одной переменной можно использовать простой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: ...
}

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

Ответы на вопрос(7)

Ваш ответ на вопрос