我一直在尝试从字典中提取一些数据。应该有5个值。第一个代码段失败,仅用1值填充scheduleForCurrentDay
,而第二个代码段有效,得到所有5。有人可以解释为什么第一个代码段不起作用吗?我想这与正在复制的字典有关,但我不确定。
// Fails; only gets one value
private var categories = [StudyCategory]() {
didSet {
let c = categories
for subject in c {
guard let target = subject.quota[currentDayComponent] else { continue }
scheduleForCurrentDay[subject.title] = target
}
}
}
// Succeeds; gets all 5 values
private var categories = [StudyCategory]() {
didSet {
let c = categories
var schedule = [String:Double]()
for subject in c {
schedule[subject.title] = subject.quota[currentDayComponent]
}
scheduleForCurrentDay = schedule
}
}
我一直在尝试从字典中提取一些数据。应该有5个值。第一个代码段失败,仅使用1值填充scheduleForCurrentDay,而第二个代码段...
您可以调试此行中的值,无论是否为nil。有些可能没有currentDayComponent