func createWeightForAgeForBoysModel(result: [[String]]) {
var meal_for_age: [Int:[String:Float]]!
for row in result{
let age = Int(row[0])!
let severe = Float(row[1])!
meal_for_age[age]!["severe"] = severe
print(age)
print(severe)
}
}
如何快速将值动态分配给空的网络词典。 self.meal_for_age[age]!["severe"] = severe
的分配不断崩溃。
var meal_for_age: [Int:[String:Float]] = [Int:[String:Float]]()
由于在堆栈溢出文本编辑器上格式化代码的挑战,我不得不在方法定义下放置了Diet_for_age_variable的声明。
谢谢大家提供的调试帮助
答案 0 :(得分:2)
有两个问题
基本上,发生崩溃是因为 meal_for_age
(请遵循命名约定,即变量名称为 lowerCamelCased )已声明但未初始化。宣布它为空字典
func createWeightForAgeForBoysModel(结果:[[String]]){
var mealForAge = [Int:[String:Float]]()
如果该密钥不存在,则必须为该密钥创建一个空字典
if mealForAge [age] == nil {
mealForAge [age] = [:]
}
mealForAge [age]![“ severe”] =严重
或添加键值对
if mealForAge [age] == nil {
mealForAge [age] = [“ severe”:严重]
}其他{
mealForAge [age]![“ severe”] =严重
}
注意:这不起作用
如果var meal = mealForAge [age] {
餐[“严重”] =严重
由于值语义的缘故, mealForAge
不会更改。