Параметр 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: ...
}
это приведет к более простой и читаемой конструкции. Есть ли решение для поддержки такой структуры? Или небольшое изменение этого?