-
[Swift] μ λ ν°(Selector)λ?iOS/π Swift 2021. 5. 2. 16:00
1μ°¨ μμ : 2021/06/16 2μ°¨ μμ : 2021/07/05 3μ°¨ μμ : 2021/07/08 4μ°¨ μμ : 2022/02/13 μλ νμΈμπΆ μ΄λ² μκ°μλ μ λ ν°μ λν΄ μμλ³΄κ² μ΅λλ€. νμ Objective-C μ κ΄λ ¨λ κ°λ μ΄ λμ€λ©΄ λ§μ°ν μ΄λ €μμ§λ λλμ΄ λλλ°μ.... λ€νν μ λ ν°λ κ·Έλ κ² μ΄λ €μ΄ κ°λ μ μλλλ€~~ κ·ΈλΌ μμν΄λ³Όκ²μ!!π₯ μ λ ν°λ λ©μλλ₯Ό μλ³ν μ μλ κ³ μ ν μ΄λ¦μ λλ€. Swiftμμλ struct νμ μ΄λ©° μ»΄νμΌ νμμ μ§μ λ©λλ€. " A selector is the name used to select a method to execute for an object, or the unique identifier that replaces the name when the so..
-
[Swift] - defer λ¬Έμ΄λ?iOS/π Swift 2021. 4. 29. 17:36
μ μΈλ λΈλ‘μ μ€νμ μ€μ½ν μ’ λ£ μ§μ κΉμ§ μ°κΈ°μν€λ ν€μλ "νΈμΆ μμ κ³Ό μ€ν μμ μ΄ λ€λ₯΄λ€" μ©λ : μ£Όλ‘ μ½λμμ μ¬μ©νλ μμμ μ 리ν λ μ¬μ©νλ€. μμ) νμΌ μ²λ¦¬ μμ νμΌ λ«κΈ° func processFile(path: String) { let file = FileHandle(forReadingAtPath: path) // Process if path.hasSuffic(".jpg") { return // closeFile()μ΄ νΈμΆλμ§ μμ } file?.closeFile() } π‘ν΄κ²° defer λ¬Έ μμ closeFile μ ꡬνν΄ λμΌλ©΄ ν¨μ λ°ν μ§μ μ μ€νμ 보μ₯ν μ μλ€. func processFile(path: String) { let file = FileHandle(forRea..
-
[Swift] - μμ (Inheritance)iOS/π Swift 2021. 4. 21. 11:35
μμ μμμ ν΄λμ€λ§μ νΉμ§μΌλ‘ μλΈν΄λμ€λ μνΌν΄λμ€μ λ©μλλ νλ‘νΌν°λ±μ μμλ°μ μ¬μ©ν μ μμ΅λλ€. super ν€μλ μμ΄ μ΄λ¦λ§μΌλ‘ μ κ·Όν μ μμ΅λλ€. λν final ν€μλλ‘ μ μλ μμλ μμλ°μ§ λͺ»ν©λλ€. μμλ°μ μνΌν΄λμ€μ μμλ₯Ό μ¬μ μλ₯Ό ν λλ λͺ νν override ν€μλλ‘ λͺ μν΄μ£Όμ΄μΌ ν©λλ€. μλΈν΄λμ€μμ μ¬μ μλ₯Ό νλ€λ©΄, μνΌν΄λμ€μ μλ³Έ μμλ super ν€μλλ‘ μ κ·Όν μ μμ΅λλ€. μ¬μ μ μ€ νλ‘νΌν°, νλ‘νΌν° κ°μμ λΆλΆμ κ·μΉμ μ λλ‘ μκ³ κ°μΌ ν©λλ€. λ©μλ μ¬μ μ, μλΈμ€ν¬λ¦½νΈ μ¬μ μλ κ°λ¨νκΈ° λλ¬Έμ μλ΅νμμ΅λλ€ νλ‘νΌν° μ¬μ μ μ μ₯ νλ‘νΌν°λ‘ μ¬μ μ ν μλ μμ΅λλ€. μ½κΈ°κ³Ό μ°κΈ° κ°λ₯, μ¦ {get set} μΌλ‘ ꡬνλ μ°μ° νλ‘νΌν°μ νλ‘νΌν° κ°μμλ₯Ό ..
-
[Swift] - DeinitializationiOS/π Swift 2021. 4. 20. 20:08
π€π’[μ°μ§±μ iOS λΈλ‘κ·Έ]π΅π» iOSλ₯Ό 곡λΆνλ©΄μ λ°°μ΄ λ΄μ©μ κΈ°λ‘νκ³ μμ΅λλ€. deinitializer λ ν΄λμ€ μΈμ€ν΄μ€κ° λ©λͺ¨λ¦¬μμ ν΄μ λκΈ° μ§μ μ νΈμΆλ©λλ€. deinitializer λ ν΄λμ€ νμ μμλ§ μ‘΄μ¬ν©λλ€. How Deinitialization Works μμμ ν보νκΈ° μν΄μ μ°λ¦¬λ μ§μ μΈμ€ν΄μ€λ₯Ό λ©λͺ¨λ¦¬μμ ν λΉν΄μ νμ§ μμ΅λλ€. Swift κ° νλ¨νμ¬ μλμΌλ‘ ν λΉν΄μ ν©λλ€. ARC λ₯Ό ν΅ν΄ μΈμ€ν΄μ€μ λ©λͺ¨λ¦¬ κ΄λ¦¬λ₯Ό ν©λλ€. νμ§λ§ ν λΉ ν΄μ μ ν΄λΉ μμμ μΆκ°μ μΈ μμ μ΄ νμν μ μμ΅λλ€. μΆκ°μ μΈ μμ μ λν μλ₯Ό λ€λ©΄, μ΄λ€ ν΄λμ€κ° νμΌμ μ΄κ³ μ°κΈ° μμ μ νλ€λ©΄, ν λΉ ν΄μ νκΈ° μ§μ μ νμΌμ λ«λ μμ μ΄ νμν κ²μ λλ€. μμ κ°μ μμ μ deinit λ©μλ λ°λμ..
-
[Swift] CaseIterable μ΄λ?iOS/π Swift 2021. 3. 29. 02:47
π€π’[μ°μ§±μ iOS λΈλ‘κ·Έ]π΅π» iOSλ₯Ό 곡λΆνλ©΄μ λ°°μ΄ λ΄μ©μ κΈ°λ‘νκ³ μμ΅λλ€. μλ νμΈμ. μ€λμ CaseIterable νλ‘ν μ½μ λν΄ μ 리ν΄λ³΄μμ΅λλ€ πΆ CaseIterable μ 'Case' λΌλ ν€μλμμ μ μΆν μ μμ§λ§ μ΄κ±°νκ³Ό κ΄λ ¨λ νλ‘ν μ½μ λλ€. μ»΄νμΌλ¬κ° νλ‘ν μ½ κ΅¬νμ μλμΌλ‘ μ 곡νκΈ° λλ¬Έμ μ±ν μ μΈλ§ ν΄μ£Όλ©΄ λ°λ‘ μ¬μ©ν μ μμ΅λλ€. λ¬Όλ‘ λͺ¨λ μ΄κ±°νμ λν΄ μ 곡νλ κ²μ μλλλ€. κ·Έ λ΄μ©μ μλμμ λ€λ£¨κ² μ΅λλ€. κ·Έλ λ€λ©΄ CaseIterable μ μ μΈνλ©΄ μ΄λ€ κ²μ μ»κ² λλλ....? λ°λ‘ allCases λΌλ νμ μμ±μ λλ€. λͺ¨λ ꡬνμ λ³Ό μλ μμ§λ§, νλ‘ν μ½ μ μΈλΆλ‘ μ΄λν΄λ³΄λ©΄ μμ κ°μ΄ λ³Όμ μλλ°... allCases λ Self.AllCases νμ μ λλ€..
-
[Swift] μ°μ°μ ꡬν (Implementing Operator Methods)iOS/π Swift 2021. 3. 18. 20:40
μ°λ¦¬κ° μλ μ°μ°μλ€μ λͺ¨λ νμ μ μ§μνμ§λ μμ΅λλ€. +, -, ,%, /, // λ± μλ₯Ό λ€λ©΄ 컀μ€ν νμ μ λν΄, μ°λ¦¬λ μ§μ μ°μ°μλ₯Ό ꡬνν΄μΌ ν©λλ€. κΈ°λ³Έ ν¨ν΄ static func operator (paramters) -> ReturnType { ... } operator μλ μ°μ°μκ° λ€μ΄κ°λλ€. parameters μλ μ°μ°μμ μ κ³Ό λ€μ λΆμ ν(μ’ν, μ°ν νΉμ λ¨ν)λ€μ κ°μ νλΌλ―Έν°λ‘ λ°κ² λ©λλ€. ReturnType μ μ°μ°κ²°κ³Ό κ°μ νμ μ λλ€. μλ₯Ό λ€μ΄ '==' (equal to) μ°μ°μλΌλ©΄ Boolμ λ°νν κ²μ λλ€. νμ© struct Point { var x: Double var y: Double static func ==(lhs: Point, rhs: Point) ->..
-
[Swift] Dictionary κ°λ¨ μ 리iOS/π Swift 2021. 3. 16. 16:18
λ€λ₯Έ μΈμ΄μμ λ§μ΄ λ΄μκΈ° λλ¬Έμ μ΅μνλ€κ³ μκ°νμμ§λ§, μ€μ λ‘ μκ³ λ¦¬μ¦ λ¬Έμ λ₯Ό ν λ μ¬μ©λ²μ΄ μ λ μ€λ₯΄μ§ μμμ κ°λ΅νκ² μ 리νμμ΅λλ€! λ μμΈν λ΄μ©μ μ€μννΈ κ³΅μλ¬Έμ μμ 곡λΆνμλ©΄ λ©λλ€πΆ νΉμ§ 1. ν΄μ¬ ꡬ쑰 key μ ν΄λΉνλ λ°μ΄ν°λ₯Ό ν΄μ±νμ¬ 'identifier' λ‘ μ¬μ©ν©λλ€. key λ₯Ό ν΄μ±νκΈ° λλ¬Έμ ν΄λΉ λ°μ΄ν°μ νμ μ Hashable νλ‘ν μ½μ μ±ννκ³ μμ΄μΌ ν©λλ€. 2. νλμ element λ Key-Value μμΌλ‘ ꡬμ±λμ΄ μμ΅λλ€. νλμ value λ unique ν key κ°κ³Ό μ°κ²°λμ΄ μμ΅λλ€. 3. μμκ° μμ΅λλ€. λ°λΌμ for-in μν μ νμ κ°μ μμλ‘ μννλ€λ κ²μ 보μ₯νμ§ μμ΅λλ€. ν΄κ²°λ² : key λ value λ₯Ό μνλ κ·μΉμΌλ‘ μ λ ¬νμ¬..
-
[Swift] Enumeration μ΄μ 리iOS/π Swift 2021. 3. 10. 12:16
- 1μ°¨ μμ (2021.03.29) - 2μ°¨ μμ (2021.05.07) μ΄κ±°νμ 곡μλ¬Έμλ₯Ό ν΅ν΄ μ 리λ₯Ό νκ³ μ¬λ¬ λ² λ³΅μ΅νλ©΄μ λμΉ λ΄μ©μ΄λ μλ‘ κΉ¨λ«κ² λ μ μ κΈλ‘ λ¨κΉλλ€. ππ» μλ£: Enumerations κΈ°λ³Έ Syntax enum Direction { case north, south, east, west } // νΉμ enum Direction { case north case south case east case west } μ΄κ±°νμ μ μΈνλ κ²μ μλ‘μ΄ μ»€μ€ν νμ μ λ§λλ κ²μ΄κ³ , κ·Έ νμ μ΄ κ°μ§ μ μλ κ°λ€μ μ μνλ κ²μ λλ€. μ μ½λμ λ°λ₯΄λ©΄ Direction νμ μ north, south, east, west λΌλ κ°λ§ κ°μ§ μ μμ΅λλ€. λ€λ₯Έ κ°μ μ¬μ©νλ €κ³ νλ©΄ μ»΄νμΌ μ..
-
[Swift] - Autoclosuresλ?iOS/π Swift 2021. 3. 2. 20:32
μ€ν ν΄λ‘μ λ ν¨μμ μκ·λ¨ΌνΈλ‘ μ λ¬ λ ννμμ λννμ¬ μλμΌλ‘ μμ±λλ ν΄λ‘μ μ΄λ€. #μ΄λ¦μ μ λ: '{ }' μμ΄ ννμλ§ κ°μ§κ³ μλμΌλ‘ ν΄λ‘μ λ‘ μμ±λκΈ° λλ¬Έμ λλ€. μ λ¬Έμ₯μ λ¬΄μ¨ λ»μΌκΉμ? 1. 'ννμμ λν νλ€λ κ²' μ ν΄λ‘μ κ° μλ κ²μ ν΄λ‘μ λ‘ λ§λ€μ΄ μ€λ€λ μλ―Έλ‘ μ¬μ©λμμ΅λλ€. 2. ν¨μ μ μλΆμ νλΌλ―Έν°μ νμ μμ @autoclosure μμ±μ λΆμ΄λ©΄, μκ·λ¨ΌνΈλ‘ λͺ μμ ν΄λ‘μ λμ ν΄λ‘μ μμ ννμλ§ μ λ¬νλ©΄ λ©λλ€. func exampleFunc(param: @autoclosure () -> Int ) { ... } νΉμ§ 1. μ€ν ν΄λ‘μ λ μ΄λ ν μκ·λ¨ΌνΈλ λ°μ§ μμ΅λλ€. λμ μ€ν ν΄λ‘μ κ° νΈμΆλ λ λν λμ΄μλ ννμμ κ°μ λ°νν©λλ€. μ€ν ν΄λ‘μ μλ λͺ λ°±ν ν΄λ‘..