μ μ μ μ κ³ λ°μ΄λ³΄μ ν΄μ§
JKμ κ°μ΄ λ©΄λ΄μ νλ λ μ΄μλ€. κ·Έ λμμ μλ μ λ€μ μκΈ°νλ©΄μ κΆκΈν μ μ λν΄ μ§λ¬Έκ³Ό νΌλλ°±μ΄ μλ λ μ΄μλ€. μ¬μ€ ννμ μ μ§ννκ³ μλ€κ³ μκ°νλλ° JKκ° νμ΅ν νμκ° μλ€λ©΄ κΌ ννμ λ€ νμ§ μλ κ²λ λ°©λ²μ΄λΌκ³ νλ€. κ·Έ λ§μ΄ μ’ λ§μ μκ°μ΄ λ€μλ€. λ΄κ° μ€κ°μ μ’ λΉ μ§ μ μ΄ λ§κ³ κ·Έ λ νλ νλ‘μ νΈλ₯Ό λμ³μ κ·Έλ°κ±΄μ§, ννμμ μ§μμ΄ λ§μ΄ λͺ¨μλ₯Έ μ μ΄ λ³΄μλ€. λ¬Όλ‘ ννμ ν λμ μ₯μ λ μμ§λ§ 2μ£Όλμμ λ΄ μ€μ€λ‘λ₯Ό λ€μ κ°ννλ μκ°μ κ°λ κ²μ μ΄λ¨μ§ λ§μ μκ°μ΄ λ λ€.
νμμ μ½λλ₯Ό 리뷰νκ³ λ¦¬ν©ν λ§ νλ κ³Όμ μμ λλ OCPμ λΉ μ Έμ switch-caseλ₯Ό μμ°λ €κ³ λ Έλ ₯νλ€. κ·Έλ° κ³Όμ μμ λ°°μ΄ μ λ λ§μκ³ 1μ£ΌμΌλ§μ 첫 PRμΈλ° κ³Όμ° μ΄λ»κ² λ°μλ€μΌμ§ κΆκΈνλ€.
νν λͺ
μΈμμ Caching
μ κ΄ν λ¬Έμ μ μμμ±
μ μν DBμ€κ³λ₯Ό μκΈ°νλ€. μ²μμ μ΄ν΄κ° μλΌμ κ³μ μ°Ύμ보λ Cacheλ Temporary dataμ΄λ©° DBλ persistance data μ΄λ€. μ¦ μλ‘ λ°λ격μ μλ―Ένλ κ²μΈλ° λλ체 μ΄ λκ°λ₯Ό μ΄λ»κ² μ΄μ©νλΌλ κ²μΈμ§ λΈλ‘κ·Έλ§ κ³μ λ΄€λ€.
κ·Έλμ λ΄κ° λ΄λ¦° κ²°λ‘ μ
UIImageViewμ λ΄κΈΈ UIImageμ νμν dataλ Caching μ μ±
μ μ΄μ©νκ³ (μ΄ λ, KingFisherλ₯Ό μ΄μ©νλκ² μ’μ§ μμκΉ μΆλ€.)
URLμ ν΅ν΄ λ°μ dataλ€μ Modelμ μ μ₯νλΌλ κ²μ΄ μλκΉ μΆλ€.(μ¬κΈ°μλ Realmμ μ¬μ©νκΈ°)
μ΄λ κ² λ΄μλλ μ΄μ λ νλ² μ μ₯μ νλ€λ©΄ λ€νΈμν¬κ° μ°κ²°μ΄ λμ§μλλΌλ 보μ¬μ§κ² νλ €λ κ²μ΄ λͺ©μ μ΄ μλκΉ μκ°μ νλ€. μ΄ λΆλΆμ λ΄μΌ κ°μ΄ λ€μ μμλ₯Ό ν΄λ΄μΌν κ² κ°λ€. κ²°κ΅ κΈ°λ₯ꡬνμͺ½μ μκ°νμ§λͺ»νκ³ μ΄ μͺ½ λΆλΆλ§ κ³μ μκ°μ νκ² λλ€.
KingFisher μ¬μ©νλ©΄ λ©λͺ¨λ¦¬/λμ€ν¬ μΊμ± λ€ λ κ»?
iOS μ΄λ―Έμ§ μΊμ±μ΄λΌκ³ κ²μ μΆμ²λ립λλ€