3οΈβ£ Swift130 [Swift] νλ‘νΌν° κ°λ μ 리 (2); μ°μ° νλ‘νΌν° μ λ² μ μ₯ νλ‘νΌν° ν¬μ€ν μ μ΄μ΄μ μ€λμ μ°μ° νλ‘νΌν°μ λν΄ μ 리νλ €κ³ νλ€,, μ μ₯ νλ‘νΌν°λ λ³μ, μμμ λν κ°λ μΌλ‘ κ·Έλλ§ μ¬μ΄? νΈμ΄μλλ° μ°μ° νλ‘νΌν°λ λΉκ΅μ μ΄λ €μ λΉ. κ°μ΄ 곡λΆν΄λ³΄μ.. π μ°μ° νλ‘νΌν° (Computed Properties) κ°μ μ μ₯νλ μ μ₯ νλ‘νΌν°μ λ¬λ¦¬ μ°μ° νλ‘νΌν°λ κ°μ μ μ₯νλ 곡κ°μ΄ μλ€. λ°λΌμ λ€λ₯Έ μ μ₯ νλ‘νΌν°λ₯Ό κ°μ Έμμ μ°μ°μ νκ³ μ μ ν κ°μ λλ €μ£Όλ μν μ νλ€. ꡬ쑰체, ν΄λμ€, μ΄κ±°ν λͺ¨λμμ μ¬μ© κ°λ₯νκ³ μ κ·Όμ(getter), μ€μ μ(setter)κ° νμνλ€. μ΄λ ν κ°μ κ°μ§κ³ μ°μ°, λ°ννλ€λ λΆλΆμμ λ©μλμ λΉμ·νλ€λ κ²μ μ μ μλλ° λ©μλ λμ μ΄ μ°μ° νλ‘νΌν°λ₯Ό μ¬μ©νλ μ μ μμ보면, 1) λ©μλμ κ²½μ° μμμ λ§ν .. 2021. 9. 22. [Swift] νλ‘νΌν° κ°λ μ 리 (1); μ μ₯ νλ‘νΌν° νλ‘νΌν°λΌκ³ νλ©΄ ν΄λμ€λ ꡬ쑰체μμ μ°λ λ³μ, μμ,,? κΈ°λ³Έμ μΈ κ°λ μ΄μ§λ§ μ νν μ€λͺ νκΈ° μ΄λ ΅λ€.γ μΆμμ λ§μ μ΄λ° κ°λ λ€μ ννννκ³ λμ΄κ°λ €νλ€.π©π»π» νλ‘νΌν°λ ν΄λμ€, ꡬ쑰체, μ΄κ±°ν λ±μ κ΄λ ¨λ κ°μ λ»νκ³ , κ·Έ μ’ λ₯λ μ μ₯ νλ‘νΌν°, μ°μ° νλ‘νΌν°, νμ νλ‘νΌν°λ‘ ν¬κ² λλ μ μλ€. π μ μ₯ νλ‘νΌν° (Stored Properties) μ μ₯ νλ‘νΌν°λ ν΄λμ€λ ꡬ쑰체μμ λ³μλ μμλ₯Ό μ μ₯νλ κ°μ₯ λ¨μν νλ‘νΌν°μ΄λ€. π μ μ₯ νλ‘νΌν°μ κΈ°λ³Έ νν κ°μ₯ κΈ°λ³Έμ μΈ ννμ μ μ₯ νλ‘νΌν° μ¬μ© λ°©λ²μ μ½λλ‘ μμ±νλ€. struct Info1_sp { let name: String = "μ€ν¬" // μμ μ μ₯ νλ‘νΌν° var age: Int = 0 // λ³μ μ μ₯ νλ‘νΌν° } clas.. 2021. 9. 22. [Swift] ν΄λ‘μ λ₯Ό μ¬μ©νλ μ΄μ , κ° μΊ‘μ³(Capturing Value) ν΄λ‘μ λ μ€μννΈμμ κΈ°λ³Έμ μΈ κ°λ μ΄μ§λ§,, μ λ§ μ΄λ €μ΄ κ°λ μ΄κΈ°λ νλ€. μ΄μ κΈμμ ν΄λ‘μ μ κΈ°μ΄μ μΈ λ΄μ©μ λν΄ λ€λ€λλ°, μ€λμ ν΄λ‘μ λ₯Ό μ¬μ©νλ μ΄μ μ μ λ² κΈμμλ λ€λ£¨μ§ λͺ»ν κ° μΊ‘μ³μ λν΄ μ 리ν΄λ³΄λ €κ³ νλ€. π ν΄λ‘μ μ¬μ© λͺ©μ ν΄λ‘μ λ μ½λλ₯Ό ν¨μ¨μ μΌλ‘ μμ±νλλ°μ ν° λμμ μ€λ€. ν΄λ‘μ λ₯Ό μ¬μ©νλ λ°μλ μμ£Ό λ€μν λͺ©μ μ΄ μκ² μ§λ§, κ·Έ μ€μμλ κ°μ₯ μ€μνκ³ , λ§μ΄ μ°μ΄λ λΆλΆμ΄ μλ€. #1 higher order function μΈνμΌλ‘ ν¨μλ₯Ό λ°μ μ μλ ν¨μλ₯Ό λ»νλ€. λ°λ‘ κ³ μ°¨ν¨μ,!! μΈνμΌλ‘ μ€ ν¨μλ₯Ό λ°λ‘ λ§λ€μ΄ μ¬μ©ν μλ μμ§λ§, κ³ μ°¨ν¨μλ₯Ό μ¬μ©νλ κ·Έ μ리μμ λ°λ‘ ν΄λ‘μ λ‘ λ§λ€μ΄ μΈνμ μ€ μλ μλ€. μ΄ λ ν΄λ‘μ λ₯Ό λ§μ΄ μ¬μ©νκ² λλ€. #2 completi.. 2021. 9. 11. [Swift] guard / if (feat. μ΅μ λ λ°μΈλ©) μ€μννΈμλ ifμ λΉμ·ν μν μ νλ guardλΌλ κ²μ΄ μ‘΄μ¬νλ€,,! μ§κΈκΉμ§λ guardλ₯Ό μ¬μ©ν΄μΌ ν νμμ±μ λλΌμ§ λͺ»ν΄ 곡λΆνμ§ μμλλ°, μ΄μ μλ κ΅¬λ¬Έμ΄ μ‘΄μ¬ν 리λ μλ€. μ€λμ μ΅μ λ λ°μΈλ©μ λν΄ κΉμ΄μκ² κ³΅λΆν΄λ³΄λ€κ° guard ꡬ문μ μ’μ μΈ‘λ©΄μ μκ² λμ΄ guardκ° λ¬΄μμΈμ§, μΈμ μ¬μ©ν΄μΌ ν μ§, ifμλ μ΄λ€ μ°¨μ΄μ μ΄ μλμ§ λ±μ μμλ³΄λ €νλ€. π guard guardλ 'λΉ λ₯Έ μ’ λ£'μ ν΅μ¬ ν€μλμ΄λ€. if ꡬ문μ "~λ©΄ ~ν΄λΌ!" λΌλ μλ―Έμ΄μ§λ§, guard ꡬ문μ "~μλλ©΄ λλ΄λΌ!" λΌλ μλ―Έμ΄κΈ° λλ¬Έμ΄λ€. μ°μ guard ꡬ문μ κΈ°λ³Έ ννλ₯Ό 보μ. // ν¨μλ λ©μλ, λ°λ³΅λ¬Έ λ± λΈλ‘ λ΄λΆμ μ μΈ guard (Bool νμ κ°) else { (μμΈμ¬ν μ€νλ¬Έ) (μ μ΄λ¬Έ μ .. 2021. 9. 6. [Swift] inout νλΌλ―Έν° μ§κΈκΉμ§λ swift ν¨μμμ λ°μμ€λ μΈμκ°μ μμλ‘ μ°μΈλ€λ μ λ§ μΈμ§νκ³ κ°μ λ³κ²½μ΄ νμν λλ ν¨μ μμ λ³μλ‘ λ€μ μ μΈνμ¬ μ°μ°μ ν΄μ£Όμλ€. νμ§λ§ μ€λμμμΌ,, μ΄λ¬ν λ¬Έμ λ₯Ό κ°νΈνκ² ν΄κ²°ν μ μλ€λ κ²μ κΉ¨λ«κ³ , κΈμ μμ±νλ€. π inout νλΌλ―Έν° μ€μννΈ μ¬μ©μλΌλ©΄ λͺ¨λ μλ§ν μ¬μ€μ΄μ§λ§ C, Java λ± λ€λ₯Έ μΈμ΄λ€κ³Ό λ¬λ¦¬ μ€μννΈλ ν¨μκ° μμ ννλ‘ μΈμλ₯Ό λ°μμ¨λ€. λ°λΌμ ν¨μ λ΄λΆμμ μΈμκ°μ λ³κ²½νλ €κ³ νλ©΄ μ€λ₯κ° λ°μνλ€. μμ κ°μ΄ nμ΄ let μμμ΄λ©° mutable νμ§ μλ€κ³ μ€λ₯κ° λ°μνλ κ²μ νμΈν μ μλ€. μ΄λ κ² ν¨μ μμμ λ΄κ° μνλ λ³μ μ체μ κ°μ λ³κ²½ν΄μ£Όκ³ μ ν λ! λ°λ‘ inout νλΌλ―Έν°λ₯Ό μ¬μ©ν΄μ£Όλ©΄ λλ€. inout νλΌλ―Έν°λ₯Ό μ¬μ©νμ¬ va.. 2021. 9. 5. μ΄μ 1 Β·Β·Β· 3 4 5 6 7 8 9 Β·Β·Β· 26 λ€μ