강의

멘토링

로드맵

Inflearn brand logo image

인프런 커뮤니티 질문&답변

밀라이님의 프로필 이미지
밀라이

작성한 질문수

앨런 iOS 앱 개발 (15개의 앱을 만들면서 근본원리부터 배우는 UIKit) - MVVM까지

활용-9 앱 / 비동기 메서드와 콜백함수의 설계 (활용 앱76강)

@Sendable 키워드

작성

·

71

0

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

안녕하세요 앨런님 저는 현재 활용 76강을 듣고 있는데요!

func getMethod(completion: @escaping ([Music]?) -> Void) {

 

 

  // URL구조체 만들기

  guard let url = URL(string: "https://itunes.apple.com/search?media=music&term=bts") else {

    completion(nil)

    return

  }

 

  // URL요청 생성

  var request = URLRequest(url: url)

  request.httpMethod = "GET"

 

 

  // 요청을 가지고 작업세션시작

  URLSession.shared.dataTask(with: request) { data, response, error in

    // 에러가 없어야 넘어감

    guard error == nil else {

      print("Error: error calling GET")

      print(error!)

      completion(nil)

      return

    }

    // 옵셔널 바인딩

    guard let safeData = data else {

      print("Error: Did not receive data")

      completion(nil)

      return

    }

    // HTTP 200번대 정상코드인 경우만 다음 코드로 넘어감

    guard let response = response as? HTTPURLResponse, (200 ..< 299) ~= response.statusCode else {

      print("Error: HTTP request failed")

      completion(nil)

      return

    }

 

    // 원하는 모델이 있다면, JSONDecoder로 decode코드로 구현

 

    do {

      let decoder = JSONDecoder()

      let musicData = try decoder.decode(MusicData.self, from: safeData)

 

      completion(musicData.results)

 

    } catch {

 

    }

 

  }.resume()     // 시작

}

 

 

해당 코드에서

스크린샷 2025-01-23 오후 3.12.02.png

 

위와같은 에러가 발생하여 @Sendable을 붙이니 해결이 되었습니다.

강의에서는 에러가 안나는 이유는 버전 차이 때문에 그런거라고 이해하면 될까요?

 

 

 

 

답변 1

0

앨런(Allen)님의 프로필 이미지
앨런(Allen)
지식공유자

네네 미래님,

@Sendable관련 내용은 Swift 6 관련 내용입니다. (언어 선택을 Swift 5로 선택하셔야 에러가 나지 않습니다. Swift 6는.. 제 별도 강의에 있는 Swift Concurrency관련 내용을 익히셔야 이해되는 내용이고, 지금 학습하시는 단계에서 절대 필요한 내용이 아니니.. Swift 5로 선택하셔서 구현하시면 됩니다.)

플레이그라운드에서 연습중이시면.. 오른쪽을 펼치셔서,

버전관련.png.webp

Swift 6로 되어있는 것을 Swift 5로 바꾸시면 됩니다.

 

감사합니다 :)

밀라이님의 프로필 이미지
밀라이

작성한 질문수

질문하기