Junior — Middle
Milyen korlátozások vannak a nyers értékek (raw value) esetében bizonyos típusokban vagy nyelvi szerkezetekben?
sobes.tech MI
Válasz az MI-től
Swiftben a nyers értékek (raw values) például az enumokban (enum) a rawValue segítségével használhatók. A rawValue főbb korlátozásai:
- A nyers értéknek ugyanazon típusúnak kell lennie minden enum esetében.
- A rawValue típusa literálisnak kell lennie (például String, Int, Character vagy más, literálokat támogató típus).
- Nem használhatók összetett típusok vagy struktúrák rawValue-ként.
- Minden rawValue-nak egyedinek kell lennie az enumon belül.
Példa enum rawValue-vel:
enum Direction: String {
case north = "N"
case south = "S"
case east = "E"
case west = "W"
}
Itt a rawValue egy string, és minden érték egyedi. Ha a rawValue nem kerül kifejezetten megadásra, az Int esetében automatikusan 0-tól számozódnak.