Inflearn brand logo image
Inflearn brand logo image
채널톡 아이콘

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

smart_ares님의 프로필 이미지

작성한 질문수

앱 개발 기초부터 실전까지 하나로 끝내는 Swift & iOS 마스터 클래스

오류를 원인을 알고 싶습니다.

해결된 질문

작성

·

36

0

강의를 듣던중 잘 따라가나 했는데, 틀리게 결과가 나오는 부분이 있어 질문 드립니다.

강좌는 앱개발 기초부터 실전까지 하나로 끝내는 Swift & iOS 마스터 클래스 이고,

섹션9의 Step #5 - 도시목록 입니다.

image.png

잘 따라가나 했는데, 위의 결과처럼 나옵니다.

image.png

뭐가 문제인지를 알고 싶습니다.

바쁘시겠지만 한번만 봐주시고, 조언 부탁드립니다.

답변 1

0

KxCoding님의 프로필 이미지
KxCoding
지식공유자

보여주신 코드에서는 for 문이 중첩되어 있습니다.

dict[key] = timeZoneList

까지만 첫 번째 for 문에 추가하고,

나머지는 아래와 같이 첫 번째 for 문 뒤에서 작성해 주세요

 

func setupList() {
    var dict = [String: [TimeZone]]()

    for id in TimeZone.knownTimeZoneIdentifiers {
        guard let city = id.components(separatedBy: "/").last else { continue }

        var timeZoneList = [TimeZone(identifier: id)!]
        let key = city.chosung ?? "Unknown"

        if let list = dict[key] {
            timeZoneList.append(contentsOf: list)
        }

        dict[key] = timeZoneList
    }

    for (key, value) in dict {
        let items = value.sorted {
            guard let lhs = $0.city, let rhs = $1.city else { return false }
            return lhs < rhs
        }.map {
            Item(title: $0.city ?? $0.identifier, timeZone: $0)
        }

        let section = Section(title: key, items: items)
        list.append(section)
    }

    list.sort { $0.title < $1.title }
}
smart_ares님의 프로필 이미지
smart_ares
질문자

빠른 답변 정말 감사드립니다.

강의 정말 알차게 수강하고 있습니다.

 

감사합니다.