λΆλ₯ μ 체보기384 [Swift] μ΅μ€ν μ (Extensions) μ΅μ€ν μ (Extensions) μ΅μ€ν μ μ μ΄μ©ν΄ ν΄λμ€, ꡬ쑰체, μ΄κ±°ν νΉμ νλ‘ν μ½ νμ μ κΈ°λ₯μ μΆκ° κ°λ₯ μ΅μ€ν μ μ νμ μ μλ‘μ΄ κΈ°λ₯μ μΆκ°ν μ μμ§λ§, μ€λ²λΌμ΄λλ ν μ μμ κ³μ°λ μΈμ€ν΄μ€ μμ± λ° κ³μ° μ ν μμ± μΆκ° μΈμ€ν΄μ€ λ©μλ λ° νμ λ©μλ μ μ μ μ΄λμ λΌμ΄μ μ 곡 Subscript μ μ μ μ€μ²© νμ μ μ λ° μ¬μ© κΈ°μ‘΄ νμ μ νλ‘ν μ½μ λ§κ² μ€μ extension Int { var add: Int { return self + 100 } var sub: Int { return self - 10 } var mul: Int { return self * 10 } var div: Int { return self / 5 } } let addition = 3.add print("Ad.. 2023. 2. 6. [Swift] νλ‘ν μ½ (Protocol) νλ‘ν μ½ (Protocol) νΉμ μμ μ΄λ κΈ°λ₯μ μ ν©ν λ©μλ, νλ‘νΌν° λ° κΈ°ν μꡬμ¬νμ ‘μ½μ’μ μ μ ν΄λμ€(class), ꡬ쑰체(struct), μ΄κ±°ν(enum)μμλ μ΄λ ν νλ‘ν μ½μ μ±ννμ¬ ν΄λΉ νλ‘ν μ½μ μꡬμ¬νμ μ€μ λ‘ κ΅¬ν κ°λ₯ νλ‘ν μ½μ μꡬμ¬νμ μΆ©μ‘±μν€λ λͺ¨λ νμ μ ν΄λΉ νλ‘ν μ½μ μ€μνλ€ νΉμ λ°λ₯Έλ€κ³ ν¨ νλ‘ν μ½μ μ±μ©ν νμμ μꡬμ¬νμ λ°λμ λͺ¨λ ꡬνν΄μΌ ν¨ νλ‘ν μ½μ νλ‘ν μ½ κ° μμμ μ§μνλ©°, ν΄λμ€μ λ¬λ¦¬ λ€μ€ μμλ μ§μ νλ‘ν μ½ μ±ννκΈ° ν΄λμ€, ꡬ쑰체, μ΄κ±°νμμ μ μν νλ‘ν μ½μ μ±ννκΈ° μν΄μλ μ½λ‘ (:)μ μ¬μ© νλμ νμ μμ λ€μμ νλ‘ν μ½μ μ±ννκΈ° μν΄μλ μ½€λ§(,)λ₯Ό μ¬μ© ν΄λμ€μμ μμκ³Ό νλ‘ν μ½ μ±νμ λμμ νλ €λ©΄ μμλ°μΌλ €λ ν΄λμ€λ₯Ό .. 2023. 2. 6. [Swift] assertμ guard assert νΉμ 쑰건μ 체ν¬νκ³ , μ‘°κ±΄μ΄ μ±λ¦½λμ§ μμΌλ©΄ λ©μμ§λ₯Ό μΆλ ₯νκ² ν μ μλ ν¨μ assert ν¨μλ λλ²κΉ λͺ¨λμμλ§ λμνκ³ μ£Όλ‘ λλ²κΉ μ€ μ‘°κ±΄μ κ²μ¦μ μνμ¬ μ¬μ© var value = 0 assert(value == 0) value = 2 assert(value == 0, "κ°μ΄ 0μ΄ μλλλ€.") 첫 λ²μ§Έ assertλ μ°Έμ΄κΈ° λλ¬Έμ μ€λ₯κ° λ°μνμ§ μμ λ λ²μ§Έ assertλ κ±°μ§μ΄κΈ° λλ¬Έμ λ°νμμλ¬κ° λ°μ Assertion failed: κ°μ΄ 0μ΄ μλλλ€. guard λ¬Έ 쑰건μ κ²μ¬νμ¬ κ·Έλ€μμ μ€λ μ½λλ₯Ό μ€νν μ§ λ§μ§ κ²°μ νλ ꡬ문 guardμ μ¬μ©νμ¬ μ‘°κ±΄μ΄ μ±λ¦½νμ§ μμ μ νΉμ μ€ν ꡬ문μ λΉ λ₯΄κ² μ’ λ£ guardμ else λΈλ‘ λ΄λΆμλ νΉμ μ½λ λΈλ‘μ μ’ λ£νλ .. 2023. 2. 6. [Swift] νμ μΊμ€ν νμ μΊμ€ν (Type Casting) μΈμ€ν΄μ€μ "νμ "μ νμΈνκ±°λ, ν΄λΉ μΈμ€ν΄μ€λ₯Ό μνΌ ν΄λμ€λ νμ ν΄λμ€λ‘ μ·¨κΈνλ λ°©λ² Swiftμμ νμ μΊμ€ν μ "is"λ "as" μ°μ°μλ‘ κ΅¬ν νμ μΊμ€ν μ μ¬μ©νμ¬ νμ μ΄ νλ‘ν μ½μ μ ν©νμ§ μ¬λΆλ νμΈ κ°λ₯ is νμ μ 체ν¬νλ μ°μ°μ λ°νμ μμ μ μ€μ 체ν¬κ° μ΄λ£¨μ΄μ§ λ°ν κ°μ Bool ν ννμμ΄ Typeκ³Ό λμΌνκ±°λ, ννμμ΄ Typeμ μλΈν΄λμ€μΈ κ²½μ° Trueλ₯Ό λ°ν μ΄ μΈμλ False λ°ν //1 let char: Character = "A" char is Character // true char is String // false //2 class Animal { } class Dog: Animal { } let dog: Dog = ... 2023. 2. 6. [Swift] ν΄λμ€(Class)μ ꡬ쑰체(Struct) ν΄λμ€(Class) ν΄λμ€λ₯Ό μ μνμ¬ κ°μ²΄λ₯Ό λ§λ€κ³ μ¬μ© κ°λ₯ ν΄λμ€λ₯Ό λ§λ€μ΄ ν΄λμ€μμ μμ±λ κ°μ²΄μΈ μΈμ€ν΄μ€λ₯Ό λ§λ€μ΄ μ¬μ© ν΄λμ€ μμ λ³μ νλ‘νΌν°(Property)μ ν΄λμ€ μμ ν¨μ λ©μλ(Method)λ‘ κ΅¬μ± class Name { var name = "Hyebin" //νλ‘νΌν° //λ©μλ func my_name() { print("my name is \(name)") } } //μΈμ€ν΄μ€ μμ± let hyebin : Name = Name() print(hyebin.name)// Hyebin hyebin.my_name()// my name is Hyebin hyebin.name = "yoo" hyebin.my_name()// my name is yoo ν΄λμ€ μ΄κΈ°ν (Initialization).. 2023. 2. 6. [Swift] μ΅μ λ (Optional) μ΅μ λ(Optional) κ°μ΄ μμ μλ μκ³ μμ μλ μλ λ³μ κ°μ΄ μλ κ²½μ°λ₯Ό λνλΌ λμλ nilμ μ¬μ© λ³μ μ μν λ νμ μ΄λ Έν μ΄μ μ λ¬Όμν(?)λ₯Ό λΆμ¬ μ μ Optional(value) ννλ‘ μΆλ ₯ μ΅μ λμ μ΄κΉκ°μ μ§μ νμ§ μμΌλ©΄ κΈ°λ³Έκ°μ nil var name: String? print(name) //nil name = "hyebin" print(name) //Optional("hyebin") μ΅μ λλ‘ μ μν λ³μλ μ΅μ λμ΄ μλ λ³μμλ λ€λ¦ var optional_name: String? = "hyebin" let name: String = optional_name Value of optional type 'String?' must be unwrapped to a value of .. 2023. 2. 6. μ΄μ 1 Β·Β·Β· 34 35 36 37 38 39 40 Β·Β·Β· 64 λ€μ λ°μν