У меня есть простая функция, которая компилирует словарь из двух других в соответствии с последним. Компилятор не обнаруживает ошибок, но после выполнения resultDict
пуст. В отладочном режиме все vars counter
, type.1
и tempDict
имеют правильные значения не-ноль.Заполняющий словарь в Swift
func compileBaseFromCSV(original: [Int:[String]], headers: [Int:String]) -> [Int:[String:[String]]] {
var resultDict = [Int:[String:[String]]]()
var tempDict = [String]()
var counter = 0
for type in headers {
for object in original {
tempDict.append(object.1[type.0])
}
resultDict[counter]?[type.1] = tempDict
counter += 1
}
print(resultDict)
return resultDict
}
Что не так с этим кодом? Благодаря!
Не злоупотребляйте перечислителем массива для словарей (хотя он работает, потому что словарь представлен кортежем). Рекомендуемый перечислитель: 'for (key, value) в словаре {}' – vadian