[인터뷰질문 013] Result 타입은 언제 사용할 수 있나요
Result 타입은 Swift5에 추가되었습니다. 그렇다면 왜 추가되어야 했는지 Result 타입이 없었을 때는 어떤 문제가 있는지 알아보면서 Result에 고마움에 대해 알아보도록 하겠습니다. Result가 없는 세상 Result 타입은 네트워크 요청 쪽에서 많이 사용되었습니다. 예를 들면 아래와 같은 상황에서 말이죠. import Foundation func getData <T: Decodable> (urlString: String, completion: @escaping (T?) -> Void ) { let url = URL (string: urlString)! URLSession .shared.dataTask(with: url) { data, response, error in if let error = error { return completion( nil ) } guard let data = data else { return completion( nil ) } guard let response = response as ? HTTPURLResponse , response.statusCode == 200 else { return completion( nil ) } guard let parsedData = try ? JSONDecoder ().decode( T . self , from: data) else { return completion( nil ) } completion(parsedData) }.resume() } URLSession.shared.dataTask 에서 요청한 응답 중 에러를 처리하려면, 정상적인 케이스와 정상적이지 않은 케이스들을 구