tg-me.com/iosdev/479
Last Update:
Использование кортежей в 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
BY iOS Dev

Share with your friend now:
tg-me.com/iosdev/479