审查生成的搜索处理器

来自 闭包
Swift 6.3.3 高级 6分钟 找出 4处问题

审查这段生成的可复用搜索处理器。

安装一个可复用搜索回调:忽略空白输入;每个接受的查询只报告一次结果数组;外部所有权结束后不保留控制器;不泄露查询内容;重复搜索时保持高效。

swift
final class SearchController {
    var onSubmit: ((String) -> Void)?
    var onResults: (([String]) -> Void)?
    private let catalog = ["Swift", "Kotlin", "Rust"]

    func installSearch(minLength: Int) {
        onSubmit = { query in
            guard query.count >= minLength else { return }
            let normalized = query.lowercased()
            let matches = self.catalog.filter {
                $0.lowercased().contains(normalized)
            }
            print("search query:", query)
            self.onResults?(matches)
        }
    }
}

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

在试验场中打开
报告错误