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?