스위프트에서 switch 문을 작성할 때 default 대신 @unknown default를 사용할 수 있다.
switch manager.authorizationStatus {
case .authorizedAlways, .authorizedWhenInUse:
break
case .restricted, .notDetermined:
break
case .denied:
break
@unknown default:
print("Unknown Error")
}
이미 default가 있는데 @unknown은 언제 사용하는 것일까?
@unknown default는 아직 알려지지 않은 case들에 대한 대비이다.
따라서 default 는 언급되지 않은 모든 case에 대한 기본값을 제공해주는 반면
@unknown default는 아직 알려지지 않은 case에 대한 대비이기 떄문에, 모든 case들을 선언해 주어야 한다.