审查生成的签到汇总

来自 Swift 基础
Swift 6.3.3 高级 6分钟 找出 4处问题

根据输入与隐私契约审查这段生成的签到汇总代码。

按非空用户 id 汇总分钟数:拒绝缺失或格式错误的字段以及不在 1...1440 内的值;绝不记录完整输入行;处理每行时不得重新构造键集合。

swift
func summarizeCheckIns(
    _ rows: [[String: String]]
) -> [String: Int] {
    var totals: [String: Int] = [:]

    for row in rows {
        let user = row["user"]!
        let minutes = Int(row["minutes"] ?? "0")!
        if minutes < 0 { continue }

        print("accepted: \(row)")
        if Array(totals.keys).contains(user) {
            totals[user] = totals[user]! + minutes
        } else {
            totals[user] = minutes
        }
    }

    return totals
}

生成代码仅作示例,不代表任何特定模型

在试验场中打开
报告错误