/**
열거형과 switch 문 활용
*/
// 로그인 기능
enum LoginProvider: String {
case facebook
case google
case naver
case email
}
let userLogin = LoginProvider.naver
switch userLogin {
case .facebook:
print("facebook 로그인")
case .google:
print("google 로그인")
case .naver:
print("naver 로그인")
case .email:
print("email 로그인")
}
if LoginProvider.email == userLogin {
print("email 로그인")
}
/**
열거형이 optional 열거형인 경우
*/
// 열거형 선언
enum SumEnum {
case left
case right
}
// 옵셔널 열거형으로 변겅
let x: SumEnum? = .left
// 원칙
switch x {
case .some(let value) :
switch value {
case .left:
print("왼쪽입니다.")
case .right:
print("오른쪽입니다.")
}
case .none:
print("none 입니다.")
}
// 편의 기능
switch x {
case .some(.left):
print("왼쪽입니다.")
case .some(.right):
print("오른쪽입니다.")
case .none:
print("none 입니다.")
}