반응형
Swift에서 Custom Error 정의 후 에러 메시지를 가져오기 위해 localizedDescription를 호출하면 아래와 같은 오류가 발생했다.
The operation couldn't be completed |
해당 오류는 localizedDescription 이 정의되지 않았을 경우 디폴트로 보여주는 localizedDescription이다.
LocalizedError를 준수하는 localizedDescription는 아래와 같이 public var errorDescription: String?로 정의해야 한다.
extension MyError: LocalizedError {
public var errorDescription: String? {
switch self {
case .invalidURL:
return NSLocalizedString("허용되지 않은 URL", comment: "")
}
}
}
전체 예시 코드
enum MyError: Error {
case invalidURL
case notFoundURL
}
extension MyError: LocalizedError {
public var errorDescription: String? {
switch self {
case .invalidURL:
return NSLocalizedString("허용되지 않은 URL", comment: "")
case .notFoundURL:
return NSLocalizedString("찾을 수 없는 URL", comment: "")
}
}
}
반응형