-
[iOS] Core Animation μ΄λ? (2)iOS/π€ App 2021. 7. 5. 12:12
μλ νμΈμπΆ μ΄μ κΈμ μ΄μ΄μ Core Animation Basic λ¬Έμλ₯Ό μ λ¦¬ν΄ λ³΄μμ΅λλ€! λ°λ‘ μμν΄λ³Όκ²μ!! Core Animation μ λ·°μ λ€λ₯Έ μκ°μ μμλ€μ μμ§μ΄λλ° νμν λ²μ© λͺ©μ μ μμ€ν μ μ 곡ν©λλ€. Core Animation μ λ·°λ₯Ό λ체νλ €λ λͺ©μ μΌλ‘ μ¬μ©νλ κ²μ΄ μλλλ€. μ€νλ € λ·°λ€κ³Ό κ²°ν©λμ΄μλ κΈ°μ μ λλ€. κ·Έλ¦¬κ³ μ΄ κΈ°μ μ λͺ©μ μ μ½ν μΈ λ₯Ό μμ§μ΄λλ° μμ΄μ λ λμ μ±λ₯κ³Ό μ§μμ μ 곡νλ κ²μ λλ€. Core Animation μ ν΅ν΄ λ·°μ μ½ν μΈ λ₯Ό λΉνΈλ§΅ ννλ‘ μΊμ±ν¨μΌλ‘μ, κ·Έλν½ μ₯μΉμ μν΄ λ°λ‘ μμ λ μ μλλ‘ νμ¬ μμ κ°μ λͺ©μ μ λ¬μ±ν©λλ€.( λΉνΈλ§΅ ννλ‘ μΊμ±νλ€λ ννμ΄ μμ£Ό λ±μ₯ν¨... κ·Έ 주체λ λ μ΄μ΄μ) λͺκ°μ§ κ²½μ°μμ, Core Animatio..
-
[iOS] Core Animation μ΄λ? (1)iOS/π€ App 2021. 7. 5. 11:51
μλ νμΈμπΆ μ΄λ² μκ°μλ Core Animation μ λν΄μ κ°λ¨νκ² μ΄ν΄λ³΄κ² μ΅λλ€. μ΄ νλ μμν¬λ CALayer λ₯Ό 곡λΆνλ λμ€ λ°°κ²½μ§μμ΄ νμνλ€κ³ μκ°νμ¬ κ΄λ ¨ λ¬Έμλ₯Ό μ 리νλ©΄μ 곡λΆνμμ΅λλ€. κ·Έλ°λ° λ¬Έμ μμ΄ λ§μμ λ€ λ€λ£¨μ§λ μκ³ , κ°μμ Basic λΆλΆκΉμ§ μ 리ν΄λ³΄μμ΅λλ€. λ€μ λΆλΆμ λ μ΄μ μ¬μ©νμ§ μλ κΈ°μ λ€λ μκ³ , ν΅μ¬ κ°λ μ μλμ¬μ λ€μμΌλ‘ μ 리λ₯Ό λ―Έλ£°κ²μ ^^ κ·ΈλΌ μμν΄λ³Όκ²μ!! Core Animation μ λνμ¬ μλλ Metal κ³Ό Core Graphics λ₯Ό ν΅ν΄ Graphics Harware μ μ§μ μ κ·Όνμ¬ μ μ΄ν μ μμ΅λλ€. μ¬κΈ°μ Metal μ OpenGL μ λ체νμ¬ μ νμ΄ μ§μ λ§λ κ·Έλν½ μ μ΄ μΈν°νμ΄μ€μ λλ€. Core Animation μ λ°..
-
[iOS] CALayer λ?iOS/π€ App 2021. 7. 5. 10:54
μλ νμΈμπΆ μ΄λ² μκ°μλ CALayer μ λν΄μ 곡λΆν΄λ³΄κ² μ΅λλ€. μ΄ ν΄λμ€λ νΌκ·Έλ§μμ μμ±ν μ΄λ―Έμ§λ₯Ό μ½λλ‘ λ³νν λ μ²μ 보μλλ°μ,, μ΄λ»κ² μ¬μ©λλ ν΄λμ€μΈμ§ κΆκΈν΄μ 곡λΆνκ² λμμ΅λλ€. λν UIVIew λ κΈ°λ³Έμ μΌλ‘ layer μμ±μΌλ‘ λΆλ¦¬λ root layer λ₯Ό κ°μ§κ³ μμ΅λλ€. iOS μμ λͺ¨λ λ·°λ layer-backed View μ΄κΈ° λλ¬Έμ λλ€. κ°λ¨νκ² layer λ₯Ό μ¬μ©νλ(νΉμ λ μ΄μ΄μ μ§μμ λ°λ) ViewλΌκ³ μ΄ν΄νμλ©΄ λ κ² κ°μ΅λλ€. κ·ΈλΌ μμν΄λ³Όκ²μπ₯ κ·Έ.λ°.λ°. 곡μ λ¬Έμμ λμμλ CALayer λ μ½μΌλ©΄ λ¬΄μ¨ λ΄μ©μΈμ§ μ μ΄ν΄κ° κ°μ§ μμ΅λλ€. (μ΄λ μ λμ λ°°κ²½μ§μμ΄ νμ) κ·Έλμ Core Animation Documentaion Archive μ λ΄μ©μ..
-
[iOS] Dependency Injection (μμ‘΄μ± μ£Όμ ) μ΄λ?iOS/π€ App 2021. 6. 20. 16:48
1μ°¨ μμ : 21.08.11 2μ°¨ μμ : 21.09.27 μλ νμΈμ πΆ μ΄λ² μκ°μλ νν DI λΌκ³ λΆλ¦¬λ μμ‘΄μ± μ£Όμ μ λνμ¬ μμλ³΄κ² μ΅λλ€. κ·ΈλΌ νλμ© μμλ³Όκ²μ!!!π₯π₯π₯ Dependency Injection means giving an objects its instance variable. Really. That's it - James Shore μ λ¬Έμ₯μ μμ‘΄μ± μ£Όμ μ λν΄ κ°μ₯ κ°λ¨νκ³ λͺ λ£νκ² μ€λͺ νκ³ μμ΅λλ€. μ΄ κ°λ μ μ€λͺ ν λ μμ£Ό λ±μ₯νλ μΈμ©λ¬ΈμΈ κ² κ°μμ! Dependency Injection μ A λΌλ κ°μ²΄μ μμ±μ Aκ° μλ λ€λ₯Έ κ°μ²΄κ° μ΄κΈ°νν΄μ£Όλ κ²μ μλ―Έν©λλ€. μ μ€μ€λ‘ νμ§ μκ³ λ€λ₯Έ κ°μ²΄λ₯Ό ν΅ν΄μ μ΄κΈ°νν΄μΌλ§ ν κΉμ?? κ²°λ‘ λΆν° μ΄ν΄λ³΄μλ©΄: κ°μ²΄κ° κ²°ν©μ λμ¨..
-
[iOS] About App Development with UIKit (UIKit μΌλ‘ μ± κ°λ°νκΈ°)iOS/π€ App 2021. 6. 16. 01:01
1μ°¨ μμ : 21.08.02 μλ νμΈμπΆ μ€λμ 'About App Development with UIKit' λΌλ λ¬Έμλ₯Ό μ€μν λ΄μ© μμ£Όλ‘ μ 리ν΄λ³΄κ² μ΅λλ€ UIKit μ μν UIKit νλ μμν¬λ iOS μ±μ μ μν λ νμν νμ μ€λΈμ νΈλ€μ μ 곡ν΄μ€λλ€. μλ₯Ό λ€μ΄μ μ°λ¦¬κ° λ§λ 컨ν μΈ λ₯Ό νλ©΄μ νμν΄ μ€ μ μλ μ€λΈμ νΈλΌλκ°, μ½ν μΈ μ μνΈμμ©μ νλ κΈ°λ₯μ ν μ μλ μ€λΈμ νΈλΌλκ°, λ§μ§λ§μΌλ‘ μμ€ν κ³Όμ μνΈμμ©μ κ΄λ¦¬ν μ μλ μ€λΈμ νΈλ₯Ό μ 곡ν΄μ€λλ€. μ±λ€μ UIKit νλ μμν¬μ μμ‘΄ν΄μ μμ κ°μ΄ κΈ°μ΄κ° λλ λμλ€μ μνν©λλ€. UIKit μ μ΄κ²λΏλ§ μλλΌ λμμ 컀μ€ν°λ§μ΄μ¦ ν μ μλ λ°©λ²λ μ 곡ν©λλ€. UIKit κ³Ό Foundation μ ν©νμ¬ Cococa Touch F..
-
[iOS] DispatchQueue.main.sync { } λ μ΄λ»κ² μλν κΉ?iOS/π€ App 2021. 6. 7. 15:27
μ μμ§μ : [iOS] GCDλ? μλ νμΈμπΆ μ΄λ² μκ°μλ GCD λ₯Ό μ²μ 곡λΆν λ μ½κ²μ΄ν΄κ°μ§ μμλDispatchQueue.main.sync { } μ λμλ°©μμ λν΄ λ€λ€λ³΄λ €κ³ ν©λλ€. StackOverflow μμ main μ°λ λμ sync λ₯Ό μ λ¬νλ©΄ μ±μ΄ κ°μ μ’ λ£ λλ μ΄μ λ₯Ό μ°Ύμ보면, `Main queueμ syncλ‘ Taskλ₯Ό μ λ¬νλ©΄ Deadlock μ΄ κ±Έλ¦°λ€` μ λμ λͺ¨νΈν μ΄μΌκΈ°λ§ λμμμ΄μ μ λλ‘λ μ΄μ λ₯Ό μκ³ μΆμ΄μ νλ² μμλ³΄κ² λμμ΅λλ€. μμ κ°μ΄ μ§μ μμ±ν User Code μμ DispatchQueue.main.sync(block:) μ νΈμΆνλ©΄ μ±μ ν¬λμκ° λ°μνκ³ κ°μ μ’ λ£ λ©λλ€. μ΄λ² κΈμ μ΄ νμμ΄ μ λ°μνκ² λλμ§ μμ보λ κΈμ λλ€. κ²°λ‘ μ μ°μ λ§μλ리면..
-
[iOS] GCD (Grand Central Dispatch) λ? (feat. main & global dispatch queue)iOS/π€ App 2021. 6. 7. 00:19
μλ νμΈμ. μ€λμ iOSμ λμμ± νλ‘κ·Έλλ°μ μμ£Ό μ¬μ©νλ GCD μ λν΄μ 곡λΆνκ² μ΅λλ€πΆ κ·ΈλΌ μμν΄λ³Όκ²μπ₯³ GCD GCD λ iOS μμ λ©ν°μ½μ΄ νλ‘μΈμμ μ½λλ₯Ό λμμ μ€νμν€κ² ν΄μ£Όλ νλ μμν¬μ λλ€. :: κ·Έλ¦¬κ³ macOS, watchOS, tvOS μμλ μ¬μ©ν©λλ€. GCD μμλ νλμ μμ λ¨μμΈ Task λ₯Ό Dispatch Queue μ μ λ¬νκΈ°λ§ νλ©΄ λλ¨Έμ§λ μμ€ν μ΄ μμμ μ²λ¦¬νκ³ μ€νμμΌ μ€λλ€. Task μ λ¨μλ λΈλ‘μ΄λ, DispatchWorkItem μ μΈμ€ν΄μ€ ννλ‘ μ‘΄μ¬ν©λλ€. :: λΈλ‘μ `{ }` λ‘ κ°μΈμ§ μ€ν μ½λ BSD νμ μμ€ν μ΄λ, Core Foundation, Cocoa APIλ€μ μ΄ νλ μμν¬λ₯Ό μ¬μ©ν¨μΌλ‘μ μμ€ν κ³Ό μ ν리μΌμ΄μ μ μ€νμλ, ν¨μ¨μ±..
-
[iOS] KVO λ? (Key Value Observing)iOS/π€ App 2021. 5. 22. 19:55
1μ°¨ μμ : 2021/06/08 μλ νμΈμ. μ΄λ² μκ°μλ KVO μ λν΄ κ³΅λΆν΄λ³΄κ² μ΅λλ€πΆ Observing μ΄λΌλ λ¨μ΄λ κ°μνλ€λ μλ―Έλ₯Ό κ°μ§κ³ μμ£ . κ·Έλ λ€λ©΄ KVOλ 무μμ κ°μνλ κ²μΌκΉμ? λ°λ‘ λ€λ₯Έ μ€λΈμ νΈμ μμ±μ λλ€. KVO λ B λΌλ μ€λΈμ νΈμ μμ± κ°μ΄ λ³κ²½λμμ λ, A λΌλ μ€λΈμ νΈκ° μκ² λλ κ²μ λλ€. KVOλ λͺ¨λΈ λ μ΄μ΄μ λ·° λ μ΄μ΄ κ°μ΄ λ Όλ¦¬μ μΌλ‘ λΆλ¦¬λμ΄ μλ μ€λΈμ νΈκ° λ©μμ§ μ λ¬μ μ μ©ν©λλ€. μλ₯Ό λ€μ΄ λͺ¨λΈ λ μ΄μ΄μμ κ°μ΄ λ³κ²½λλ©΄, κ°μνκ³ μλ λ·° λ μ΄μ΄μκ² μ λ¬λμ΄ λ³κ²½μ λμν μ μλ κ²μ λλ€. κ°μν μμ±μ νμνκΈ° class MyObjectToObserve: NSObject { @objc dynamic var myDate = NSDate(timeInt..
-
[iOS] - Cocoa Touch μμ JSON λ€λ£¨κΈ°iOS/π€ App 2021. 5. 7. 23:27
1μ°¨ μμ : 2021.05.25 JSON = JavaScript Object Notation π€ μ¬μ μ§μ - JSON μ΄λ? λ¨μνκ² λ°μ΄ν°λ₯Ό νννλ λ°©λ² μ€ νλμ΄λ€. (ν΅μ λ°©λ²λ μλκ³ , νλ‘κ·Έλλ° λ¬Έλ²λ μλλ€. ν¬λ§·μ΄λ€ !!!!) μλ²μ ν΄λΌμ΄μΈνΈ κ°μ λ°μ΄ν° κ΅νμμ μΌλ°μ μΌλ‘ λ§μ΄ μ¬μ©λλ€. ν΄λΌμ΄μΈνΈκ° API Request λ₯Ό 보λ΄λ©΄ μλ²κ° μλ΅μΌλ‘ JSON λ°μ΄ν°λ₯Ό 보λ΄μ€λ€. JSONμ ν¬λ§·μ μλ°μ€ν¬λ¦½νΈ κ°μ²΄ νκΈ°λ²μ λ°λ₯Έλ€ key - value μμ μ΄λ£¨μ΄ νννλ©°, keyλ λ¬Έμμ΄μ΄λ€. λ¬Έμμ΄μ " " μλ°μ΄νλ₯Ό μ¬μ©νμ¬ νκΈ°νλ€. { } μ λ΄λΆμ key-value λ‘ κ΅¬μ±λλ€. μ¦ Swift λμ λ리μ μ μ¬ν ꡬ쑰μ΄λ€. JSONνμμμλ null, number, string,..