Avatar ·

Como tornar um enum Decodable em Swift: guia completo

Olá a todos! Sou um desenvolvedor iOS iniciante e estou com um problema para decodificar JSON em enum. Tenho este enum para status de pedido: ```swift enum OrderStatus: String { case pending case confirmed case shipped case delivered case cancelled } ``` E recebo este JSON do servidor: ```json { "id": 1234, "status": "pending" } ``` Estou tentando decodificar com JSONDecoder: ```swift struct Order: Decodable { let id: Int let status: OrderStatus } ``` Mas o Xcode mostra o erro: "Type 'OrderStatus' does not conform to protocol 'Decodable'" Já adicionei String como rawValue do enum, pensei que isso ajudaria. Mas não. O que estou fazendo de errado? Preciso escrever minha própria implementação de init(from:) ou existe uma maneira mais simples?