iOS разработчик, который делится фишками, своим опытом и опытом других.
В этом канале вы сможете найти истории из жизни, подходы к реализации а также новости и тренды из мира iOS-разработки
Авторский канал, iOS разработка
Использование кортежей в Swift на примере switch/case
Вы можете использовать кортежи и для проверки нескольких значений в одном операторе switch.
Каждый элемент кортежа может проверяться на разное значение или интервал значений.
В качестве альтернативы можно использовать символ подчеркивания (_) для поиска любого возможного значения.
В приведенном ниже примере берется точка (x, y), выраженная как простой кортеж типа (Int, Int), и классифицируется на графике, который следует за примером.
let somePoint = (1, 1)
switch somePoint {
case (0, 0):
print("\(somePoint) в начале координат")
case (_, 0):
print("\(somePoint) на оси x")
case (0, _):
print("\(somePoint) на оси y")
case (-2...2, -2...2):
print("\(somePoint) внутри рамки")
default:
print("\(somePoint) за пределами рамки")
}
// Выведется "(1, 1) внутри рамки"
Оператор switch определит, находится ли точка в начале координат (0, 0), на красной оси x, на зеленой оси y, внутри синей рамки 4 на 4 с центром в начале координат или за ее пределами.
😉 В отличие от языка C, Swift позволяет в switch/case рассматривать одно и то же значение или интервал значений.
Фактически, точка (0, 0) может соответствовать всем четырем вариантам в этом примере.
Однако, если возможно несколько совпадений, всегда используется первый подходящий вариант. Точка (0, 0) попадает под условие первого кейса (0, 0), поэтому все остальные случаи совпадения будут проигнорированы.
@iOS Dev