Sobes.tech
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.