Avatar ·

Como tornar enum Decodable em Swift: guia completo

Olá a todos! Sou um desenvolvedor iOS iniciante e estou com um problema para decodificar JSON em enum.\n\nTenho este enum para status de pedido:\n\n```swift\nenum OrderStatus: String {\n case pending\n case confirmed\n case shipped\n case delivered\n case cancelled\n}\n```\n\nE recebo JSON do servidor:\n\n```json\n{\n "id": 1234,\n "status": "pending"\n}\n```\n\nEstou tentando decodificar isso com JSONDecoder:\n\n```swift\nstruct Order: Decodable {\n let id: Int\n let status: OrderStatus\n}\n```\n\nMas o Xcode mostra erro: "Type 'OrderStatus' does not conform to protocol 'Decodable'"\n\nJá adicionei String como rawValue para o 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?\n\nAin