审查生成的客户扩展

来自 扩展
Swift 6.3.3 高级 6分钟 找出 4处问题

根据任务要求审查这段生成的集合扩展。

添加可复用的客户列表操作:保留首次出现顺序;索引无效时返回 nil;不暴露邮箱地址;在含大量重复项的长列表中保持高效。

swift
struct Customer {
    let id: Int
    let email: String
}
extension Array where Element == Customer {
    var cachedUnique: [Customer] = []
    func customer(at index: Int) -> Customer? {
        self[index]
    }
    func uniqueCustomers() -> [Customer] {
        var result: [Customer] = []
        for customer in self {
            if !result.contains(where: { $0.id == customer.id }) {
                result.append(customer)
            }
        }
        return result
    }
    func debugDump() {
        for customer in self {
            print(customer.email)
        }
    }
}

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

在试验场中打开
报告错误