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

아요님의 프로필 이미지

작성한 질문수

성공적인 진짜 iOS 개발자 되기 [기초부터 실무까지]

네트워크 처리 1

딕셔너리?

23.02.06 09:24 작성

·

284

·

수정됨

0

강의중

rates 의 데이터를 가공하기위해 PickerViewController 에

var rates : [(String, Double)]? 로 선언하시고

URLSession 을 사용하여 Decoder 하는 과정에서 Json 데이터가 순서없이 들어오기 때문에 순서를 있게하려고 map 이나 sorted 형태를 사용한다 하셨는데,

위에 선언한 rates : [(String, Double)]?는 array 안에Tuple을 element로 사용해 변수를 선언하셨는데, 왜 element 를 Tuple로 선언하셨는자 궁금합니다.

  • 찾아본 바로는 Dictionary 타입의 값을 비교하는 것은 불가능하다는데 그렇기때인가요??

var rates : [String, Double]? 딕셔너리 형태로 선언하는것보다 더 효율적인가요?

답변 1

1

iOS Developer - 이정님의 프로필 이미지
iOS Developer - 이정
지식공유자

2023. 02. 06. 10:24

안녕하세요

 

  • 튜플을 사용하는이유

    강의 24분쯤부터 보시면 딕셔너리를 sorted를 했을때 리턴타입이 튜플이라는걸 확인할 수 있습니다.

    즉 제가 튜플을 사용하려고 만든게 아닌 sorted의 리턴타입이 튜플이어서 그 타입에 맞추기 위해 튜플을 사용하는 것입니다.

     

  • Dictionary로 사용하지 않은 이유

    Dictionary를 Array로 감싸서 사용해도 됩니다.

    단지 딕셔너리를 Array로 감싸고 그 다음에 sort하는 것 보다 바로 sort하면 한번에 Array로 감싸면서 sort가 가능하다는걸 보여드리기 위해 sorted를 사용한 것입니다.

    만약 sort가 필요 없다면 바로 딕셔너리를 Array로 감싸서 사용해도 됩니다.

    그 부분은 22분쯤에 map으로 설명한 부분입니다.

     

아요님의 프로필 이미지
아요
질문자

2023. 02. 06. 17:37

감사합니다.!

아요님의 프로필 이미지

작성한 질문수

질문하기