-
Swift) Raw Value - EnumerationiOS/π Swift 2020. 10. 24. 22:56
enum Alignment { case left case center case right }
μ μ½λλ Alignment λΌλ μ΄κ±°νμ μ μΈμ λλ€.
μ case λ€μ Raw Value (μμ κ°) μ΄ μ€μ λμ§ μμμ΅λλ€.
Raw Value λ₯Ό μ€μ νμ§ μμ case λ€μ κ·Έ μμ²΄κ° κ³ μ ν κ°μ΄ λ©λλ€.
κ΄λ ¨ κΈ: Enumeration μ΄ μ 리 (μ κ° μ μ λΈλ‘κ·Έ κΈ)
Raw Value λ case λ€μ΄ κ°λ λ λ€λ₯Έ κ°μ λλ€.
Raw Value λ₯Ό μ€μ νκΈ° μν΄μλ, μ΄κ±°ν ν€λ λΆλΆμ λ°μ΄ν° νμ μ μ μΈν΄μ£Όμ΄μΌ ν©λλ€.
String, Character, Number Types μ μ μΈν μ μμ΅λλ€.
enum Alignment: String { case left case center case right }
μ΄μ μ μ΄κ±°νμ caseλ€μ String νμ μ κ°μ Raw Value λ‘ κ°μ§ μ μμ΅λλ€.
μμ κ°μ΄ ν€λ λΆλΆλ§ μ μΈλμ΄μκ³ μμ κ°μ΄ λ°λ‘ μ§μ λμ΄ μμ§ μμ κ²½μ°
String case μ΄λ¦μ λ¬Έμμ΄ Int 첫λ²μ§Έ case λΆν° 0, 1, 2... Character μ μΈμ λ°λμ μ§μ ν΄μΌν¨
(κ·Έλ μ§ μμΌλ©΄ μ»΄νμΌ μλ¬)Intμ κ²½μ°λ₯Ό λ μμΈν μ΄μΌκΈ°νλ©΄, RawValue λ₯Ό κ°μ§λ μ΄κ±°νμμ caseκ° Implicitly νκ² κ°μ΄ μ€μ λλ€λ©΄, λ°λ‘ μ caseμ RawValueλ³΄λ€ 1 λ ν° κ°μ κ°μ§λ κ²μ΄ κ·μΉμ λλ€.
κ·Έλ¦¬κ³ μ²«λ²μ§Έ case κ° Implicitly νκ² κ°μ΄ μ€μ λμ΄ μλ€λ©΄ κ·Έ κ°μ 0μ λλ€.
μ¦, μμ μ΄κ±°νμ κ²½μ°
Alignment.left.rawValue // "left" Alignment.center.rawValue // "center" Alignment.right.rawValue // "right"
λν, Raw Value λ₯Ό μ΄μ©νμ¬ μ΄κ±°νμ μμ±ν μ μμ΅λλ€.
Alignment(rawValue: "left") //Alignment.left Alignment(rawValue: "center") //Alignment.center Alignment(rawValue: "right") //Alignment.right
μ λ¬ν κ°μ΄ case μ λ§μ§ μλ κ²½μ°λ μκΈ° λλ¬Έμ rawValueλ₯Ό μ΄μ©ν μ΄κ±°ν initializer λ μ΅μ λ νμ μΌλ‘ 리ν΄λλ©°, λ°λΌμ failable initializer μ λλ€.
μ΄μ κΈ: [Optionals] Optional Unwrapping
λ.
'iOS > π Swift' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
Type Inference - Data Types (0) 2020.11.03 3 features of First Class Citizen - Function (0) 2020.11.02 Tuples - Tuples (0) 2020.10.25 Optional Unwrapping - Optionals (0) 2020.10.09 Optionals - Optionals (0) 2020.10.09