2022. 6. 30. 12:51γios
Swift - μ΄κ±°ν(enum), μμκ°, μ°κ΄κ°
μ€λμ enumμ λν΄μ μμλ³΄λ €κ³ ν©λλ€.
enumμ΄λ?
μ°κ΄λ μμμ κ°μ λ¬Άμ΄ νλμ νμ μΌλ‘ μ μν μλ£ν
μ½λλ₯Ό ν΅ν΄ λ°λ‘ νμΈν΄λ΄ μλ€.
apple, microsoft, googleμ΄λΌλ μμλ€μ λ¬Άμ΄μ CompanyλΌκ³ μλ‘μ΄ νμ μ μ μνμ΅λλ€.
κΈ°μ‘΄μ Int, String, Bool νμ κ³Όλ λ€λ₯΄κ² "μ¬μ©μ μ μ νμ " μ΄λΌλ κ²μ μμμΌ ν©λλ€.
κ·ΈλΌ μ΄ enumμ μ μ¬μ©ν κΉμ?
enumνμ μ "μ½λμ μμ μ±κ³Ό κ°μμ±" λλ¬Έμ μ¬μ©ν©λλ€.
- μ§μ μ μν νμ μμμλ§ μμκ°μ μ κ·Όν μ μκΈ° λλ¬Έμ μμ μ±μ λμ¬μ£Όκ³ νμ κ³Ό μμλͺ μ΄ μ§κ΄μ μΌλ‘ μ μ μκ² μ μν΄λ¨κΈ° λλ¬Έμ κ°μμ±μ λμ¬μ€λλ€.
enumμ μΈμ λ§μ΄ μ¬μ©ν κΉμ?
switchλ¬Έμμ λ§μ΄ μ¬μ©ν©λλ€. μλ μμλ₯Ό λ³΄κ² μ΅λλ€.
CompanyλΌλ νμ μ μ μνλ©΄ μ»΄νμΌλ¬κ° μ΄λ₯Ό μΈμνκ³ νμ λͺ μλ₯Ό μλ΅ν μ μκ² ν΄μ£Όλλ°μ,
Company.microsoftκ° μλ .microsoftλΌκ³ μ¬μ©νλ κ²μ΄ μμμ λλ€.
enumμμμ μμ κ° vs μ°κ΄ κ°
μμ κ°
맀μΉλλ κΈ°λ³Έκ°(μ μ/λ¬Έμμ΄)μ ν΅ν΄ μ΄κ±°νμ μ½κ² νμ©κ°λ₯ν ννλ‘ λ§λ€μ΄μ£Όλ κ°.
κΈ°μ‘΄μ μ΄κ±°νμ μ κ·Όνλ €λ©΄ νμ .μμμ ννλ‘ μ κ·Όμ ν΄μΌνλλ°μ, μμλ₯Ό μΌμΌμ΄ λͺ μν΄μ£Όλ κ²μ νλ‘κ·Έλλ¨Έμ μ₯μμ λΆνΈν μ μμ΅λλ€.
μ΄ λλ¬Έμ λμ¨ κ²μ΄ μμκ°μ λλ€.
μ¬μ©λ²μ λ€μκ³Ό κ°μ΅λλ€.
Alignmentλ€μ : IntλΌλ νμ μ λΆμ¬μ€μΌλ‘μ¨ redμλ μλμΌλ‘ 0, orangeμλ 1, blueμλ 2κ° rawValueμ νμνλ‘νΌν°λ‘ ν λΉλμμ΅λλ€.
μ¦, μ΄μ λ νμ μ μμλ₯Ό ν΅ν΄ κ°μ μ κ·Όνλ κ² μΈμ μ«μλ‘ κ°μ μ κ·Όν μ μκ² λ κ²μ λλ€.
print λ λ²μ§Έ μ€μΈ Allignment(rawValue: 0)μ 0λ²μ§Έ μΈλ±μ€μ κ°μ μΆλ ₯νλΌλ λͺ λ Ήμ΄λ©° μ΄λ μ΅μ λνμ μΌλ‘ λ°νλκΈ° λλ¬Έμ κ°μ λ‘ unwrappingν΄μ£Όμ΄ μΆλ ₯νμ΅λλ€.
μ΄κ²μ΄ μμκ°μ λλ€.
κ·ΈλΌ μ°κ΄κ°μ 무μμΌκΉμ?
μ°κ΄κ°
μ΄κ±°νμμ ꡬ체μ μΈ μΆκ°μ 보λ₯Ό μ μ₯νκΈ° μν κ°.
μμκ°κ³Ό λΉκ΅νλ©΄ μμκ°μ μΆκ°μ 보λ₯Ό μ μ₯ν μ μλ ννκ° μλ 미리 μ μΈν΄ λμ κ°λ§μ μ¬μ©ν μ μμ΅λλ€.
λ°λ©΄μ μ°κ΄κ°μ μ μΈν λ μΆκ°μ 보λ₯Ό λ£μ΄μ "μμ±"νκΈ° λλ¬Έμ 미리 μ μΈν΄ λμ νμμμ μ¬λ£λ₯Ό λ£μ΄ κ°μ μ μ₯ν μ μμ΅λλ€.
μ΄ν΄κ° μ μ κ°λλ μμ μ½λλ‘ νμΈν΄μΌν©λλ€.
jerryλΌλ μ΄λ¦μ μ¬λμ (iq: 120, eq: 100)μ΄λΌλ ννννμ κ°μ κ°μ§κ² λμμ΅λλ€.
μμκ°μ΄μλ€λ©΄ μ΄μκ°μ΄ μ μ°νκ² κ°μ ν λΉν μ μκΈ° λλ¬Έμ μ°κ΄κ°μ μ¬μ©νλ κ²μ λλ€.
μ΄λ₯Ό "μΈμ€ν΄μ€ μμ±μμ μ κ°μ ν λΉνλ€" λΌκ³ ννν©λλ€.
switchλ¬Έμμμ μ¬μ©μμ
λ§μ§λ§μΌλ‘ μμκ°κ³Ό μ°κ΄κ°μ μ¬μ©ν λ μ£Όμν μ μ΄ μμ΅λλ€.
"μμκ°κ³Ό μ°κ΄κ°μ λμμ μ μν μ μλ€" μ΄ λΆλΆλ§ μ μν΄μ μμ±νμλ©΄ λκ² μ΅λλ€ ^_^
'ios' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
Swift - ν΄λμ€ μμκ³Ό μ¬μ μ (1) | 2022.07.06 |
---|---|
swift - μ±κΈν€ ν¨ν΄ (0) | 2022.07.05 |
Swift- inout (0) | 2022.06.28 |
Swift - ν¨μ (0) | 2022.06.27 |
Swift - if let (Optional) (0) | 2022.06.12 |