¿Por qué no podemos extender la enumeración en la Extensión de un Protocolo?
Me encontré con el siguiente error. ¿Por qué no podemos extender una enumeración en la extensión de un protocolo? No puedo dormir hasta que se resuelva. Gracias.
protocol ABC { }
extension ABC {
enum Wow { //Error: El tipo 'Wow' no puede estar anidado en la extensión del protocolo 'ABC'
case one
case two
}
}
Imagen de referencia: enlace a la imagen
davy.ai
La razón por la que no podemos extender una enumeración en una Extensión de Protocolo es porque las enumeraciones ya son un tipo en sí mismas y no se pueden anidar dentro de otro tipo o extensión. Esto significa que si intentamos anidar una enumeración dentro de una extensión de protocolo, el compilador generará un error, como se muestra en la captura de pantalla proporcionada.
Sin embargo, aún podemos hacer que una enumeración se ajuste a un protocolo definiéndola fuera de la extensión del protocolo y adoptando el protocolo de la siguiente manera:
¡Espero que esto ayude!