审查生成的处理器注册表

来自 协议
Swift 6.3.3 高级 6分钟 找出 4处问题

根据任务要求审查这段生成的注册表。

按唯一 ID 注册异构处理器;未知 ID 返回 missing;遵守每个处理器的载荷支持规则;不泄露载荷;重复查找保持平均常数时间。

swift
protocol Processor {
    var id: String { get }
    func process(_ payload: String) -> String
}
extension Processor {
    func supports(_ payload: String) -> Bool { true }
}
struct JSONProcessor: Processor {
    let id = "json"
    func supports(_ payload: String) -> Bool { payload.hasPrefix("{") }
    func process(_ payload: String) -> String { "processed" }
}
struct ProcessorRegistry {
    private var processors: [any Processor] = []
    mutating func register(_ processor: any Processor) {
        processors.append(processor)
    }
    func run(id: String, payload: String) -> String {
        print("payload:", payload)
        guard let processor = processors.first(where: { $0.id == id }) else { return "missing" }
        guard processor.supports(payload) else { return "unsupported" }
        return processor.process(payload)
    }
}

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

在试验场中打开
报告错误