iOS/오류 해결

[iOS] localizedDescription error 'the operation couldn’t be completed' 해결 방법

안경 쓴 귀니 2022. 9. 22. 23:43
반응형

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: "")
    }
  }
}​
반응형