Code

[Swift4]옵셔널 비교문 사용시 guard let, if let 대신 if case나 Switch를 사용하자

February 2, 2018

author:

[Swift4]옵셔널 비교문 사용시 guard let, if let 대신 if case나 Switch를 사용하자

Swift에서는 옵셔널의 값을 사용하기 위해 guard letif let 사용을 권장합니다.

let a: Int? = 1

if let _a = a {
	print(_a) // Output: 1
}

guard let _a = a else { return }
print(_a) // Output: 1

Optional은 enum으로 nonesome(Wrapped) 을 가지며 if case 문, Switch 문으로 옵셔널 비교를 할 수 있는데, 다음과 같이 Optional을 쉽게 사용할 수 있습니다.

let a: Bool? = true
let b: Int? = 1

if case true? = a { 
	print("true")
}

switch b {
	case 1?: print("1")
	default: print("default")
}

뒤에 ?를 붙여 옵셔널 값으로 쉽게 만들기 때문에 비교문에서는 ?를 사용하는 것이 훨씬 좋습니다.