본문 바로가기

Swift

Switch 사용하면서 값이 배열 안에 있는지 확인하는 방법

반응형

아래와 같은 코드가 있을 때 value 를 foo or bar 배열에 존재하는지 확인하는 방법

let foo = [1, 2, 3]
let bar = [4, 5, 6]
let value = 5

1. ~= 연산자 만들기

func ~=<T: Equatable>(array: [T], value: T) -> Bool {
    return array.contains(value)
}

let foo = [1, 2, 3]
let bar = [4, 5, 6]
let value = 5

switch value {
case foo:
    print("in foo")
case bar:
    print("in bar")
default:
    break
}

2. where 문 사용

let foo = [1, 2, 3]
let bar = [4, 5, 6]
let value = 5

switch value {
case _ where foo.contains(value):
    print("in foo")
case _ where bar.contains(value):
    print("in bar")
default:
    break
}

반응형