해결된 질문
작성
·
36
답변 1
0
보여주신 코드에서는 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 }
}
빠른 답변 정말 감사드립니다.
강의 정말 알차게 수강하고 있습니다.
감사합니다.