π» κ°λ°/Android
ꡬν λ¬Έμ μλ¦Ό ν΄λ¦νλ©΄ νΉμ νλ©΄μ λμ΄μ€μΌ νλ λ¬Έμ μλ€. ν΄κ²° λ°©λ² PendingIntent λ₯Ό μ¬μ©νλ©΄ λλ€. Notification μμ±μ Intent μμ±μ λΆμ¬ν μ μλλ° μ΄ λ PendingIntent λ₯Ό λ겨μ€λ€. λν PendingIntent κ°μ²΄μ putExtra λ‘ νλ©΄ μ΄λμΌλ‘ λμ΄μ€ Fragment μ μλ³μλ₯Ό λ겨μ€λ€. μ΄λ₯Ό νμ©νμ¬ MainActivity κ° onCreate λμ λ getStringExtra λ‘ Fragment μ μλ³μλ₯Ό κ°μ Έμ€κ³ ν΄λΉ Fragment λ‘ μ ννλ€. μ½λ - ReceiverService μ°μ μ§λλ²μ ꡬννλ μ΄λ²€νΈ μμ μλ¦Όμ λν μ½λλ₯Ό κ°μ Έμλ€. // μ΄λ²€νΈλ₯Ό μμ νμ κ²½μ° μ¬μ©μμκ² μλ¦Ό μ μ‘ private fun occurEven..
π» κ°λ°/Android
ꡬν λ¬Έμ μ‘Έμ
νλ‘μ νΈλ₯Ό μ§ννλ©΄μ μλ²μμ νΉμ ν μ΄λ²€νΈλ₯Ό μμ νλ©΄ μ΄λ²€νΈ μ’
λ₯μ λ°λΌ μλ‘ λ€λ₯Έ 2κ°μ μλ¦Όμ λμ΄μ£Όλ κΈ°λ₯μ ꡬνν΄μΌ νλ€. μμΌ ν΅μ μΌλ‘ μ΄λ²€νΈλ₯Ό μμ νλλ° Activity μ΄λμ΄λ Fragment μ΄λμ κ΄κ³ μμ΄ μλ²μ μ°κ²° κ°λ₯ν μμΌ ν΅μ μ΄ νμνλ€. ν΄κ²° λ°©λ² MVVMκ³Ό λ¨μΌ Activityλ₯Ό μ¬μ©νκΈ°μ Activityλ MainActivity ν κ° λΏμ΄μκ³ MainActivity μμ μμΌ ν΅μ μ ꡬννλ©΄ λλ λ¬Έμ μλ€. νμ§λ§ μ±μ μ¬μ©νμ§ μλ μν©μμλ μλ¦Όμ μμ ν΄μΌ ν νμκ° μμκ³ μ΄λ₯Ό μν΄ Serviceλ₯Ό μ¬μ©νλ€. λ¬Όλ‘ MainActivity μμ ν΄λΉ κΈ°λ₯μ ꡬνν μ μλ€. νμ§λ§ μμΌ ν΅μ μ΄ MainActivity μ체μ μ’
μλλ μν©μ΄ λ°μνκΈ°μ ..
π» κ°λ°/iOS
iOS μμ νλ©΄ μ΄λμ νλ λ°©λ²μλ 4κ°μ§κ° μλ€. ViewController μμ νλ©΄ μ ν ViewController κ° λ€λ₯Έ ViewController λ₯Ό νΈμΆνμ¬ νλ©΄ μ ν NavigationViewController λ₯Ό μ¬μ©νμ¬ νλ©΄ μ ν νλ©΄ μ νμ© κ°μ²΄ Segue λ₯Ό μ¬μ©νμ¬ νλ©΄ μ ν 1. ViewController μμ νλ©΄ μ ν ViewController μμ View λ₯Ό λ€λ₯Έ View λ‘ κ΅μ²΄νλ λ°©μμΌλ‘ λ©λͺ¨λ¦¬ λμλ‘ μΈν΄ μ¬μ©μ μ§μνλ€. νΉμ ν κ²½μ°μλ§ μ¬μ©νλ€. μλλ‘μ΄λμμλ View μ Visibility μμ±μ μ΄μ©νμ¬ λ³κ²½νλ λ°©μμ μμ£Ό μ¬μ©νμλλ° iOS μμλ μ§μνλ€κ³ νλ μ’ μ κΈ°νλ€. μ΄ λΆλΆμ λν΄μ μ’ λ μ°Ύμλ³΄κ³ μ 리ν΄λ΄μΌκ² λ€. 2. ViewContr..
π» κ°λ°/iOS
곡λΆν κ² Swift λ¬Έλ² μκ²λ κ² 1. Guard Guard ν€μλλ₯Ό μ¬μ©νλ©΄ 쑰건μ falseμΈ κ²½μ°μλ else κ΅¬λ¬Έμ΄ μ€νλμ΄ μ΄νμ μ½λλ₯Ό μ€ννμ§ λͺ»νκ² νλ€. continue μ λΉμ·νλ€. import Foundation func guardTest(value : Int?) { guard let value = value else {return} print(value) } guardTest(value : 2) guardTest(value : nil) // μ무κ²λ μΆλ ₯λμ§ μμ 쑰건문과 μ μ¬ν κΈ°λ₯μ΄λΌκ³ λ³Ό μ μλλ° Guard λ else λ₯Ό κ°μ νλ€. // μΌλ°μ μΈ μ‘°κ±΄λ¬Έ if 쑰건 == true { // μ°ΈμΈ κ²½μ°μ μ€νν μ½λ } else { // κ±°μ§μΈ κ²½μ°μ μ€νν μ½λ } // G..
π» κ°λ°/iOS
곡λΆν κ² Swift λ¬Έλ² μκ²λ κ² 1. ν΄λμ€μ ꡬ쑰체μ μ°¨μ΄ 1. 곡ν΅μ κ°μ μ μ₯ν νλ‘νΌν°λ₯Ό μ μΈν μ μμ ν¨μμ κΈ°λ₯μ νλ λ©μλλ₯Ό μ μΈν μ μμ λ΄λΆ κ°μ .λ₯Ό ν΅ν΄ μ κ·Όν μ μμ μμ±μλ₯Ό μ¬μ©ν΄ μ΄κΈ° μνλ₯Ό μ€μ ν μ μμ Extension μ μ¬μ©νμ¬ κΈ°λ₯μ νμ₯ν μ μμ Protocol μ μ±ννμ¬ κΈ°λ₯μ μ€μ ν μ μμ 2. μ°¨μ΄μ - ν΄λμ€ μ°Έμ‘° νμ
ARC λ‘ λ©λͺ¨λ¦¬λ₯Ό κ΄λ¦¬ μμ κ°λ₯ νμ
μΊμ€ν
μ ν΅ν΄ λ°νμμμ ν΄λμ€ μΈμ€ν΄μ€μ νμ
μ νμΈν μ μμ deinit μ μ¬μ©νμ¬ ν΄λμ€ μΈμ€ν΄μ€μ λ©λͺ¨λ¦¬ ν λΉμ ν΄μ ν μ μμ κ°μ ν΄λμ€ μΈμ€ν΄μ€λ₯Ό μ¬λ¬ κ°μ λ³μμ ν λΉν λ€μ κ°μ λ³κ²½μν€λ©΄ λͺ¨λ λ³μμ μν₯μ μ€ (λ©λͺ¨λ¦¬λ₯Ό 볡μ¬) - ꡬ쑰체 κ° νμ
κ°μ ꡬ쑰체λ₯Ό ..
π» κ°λ°/Android
GitHub - k906506/MVVM: π¨ MVVMμ΄ λμμ? π¨ MVVMμ΄ λμμ? Contribute to k906506/MVVM development by creating an account on GitHub. github.com MVVM λ λ²μ§Έ μκ°μ΄λ€. κ°μμ€λ½κ² μ°Ύμμ¨ μ΄μ λ μ‘Ένλ₯Ό μ§ννλ€κ° RecyclerView λ₯Ό Room μ μ¬μ©ν΄μ MVVM ν¨ν΄ μΌλ‘ ꡬννλλ° μ μμ μΌλ‘ μλνμ§ μμμ RecyclerView + Room + MVVM μ μ 리νκ³ μ½λλ₯Ό λ€μ λ³΄λ €κ³ νλ€. μ°μ MVVM μ ꡬννκΈ° μν΄μλ μμ κ·Έλ¦Όμ μ΄ν΄νκ³ λμ΄κ°λ κ²μ΄ μ’λ€. κ·Έλ¦Όμμ μ£ΌμκΉκ² λ΄μΌν κ²μ νμ΄νμ λ°©ν₯ μ΄λ€. λͺ¨λ νμ΄νκ° λ¨λ°©ν₯μΌλ‘ μ°κ²° λμ΄μκ³ μμ μμλ νμ μμλ₯Ό μ°Έμ‘°νλ€. μ°Έμ‘°..
π» κ°λ°/Kotlin
κ°λ³μ± λ³ν μ μλ€? κ°λ³μ±μ΄ λμμ? π μ½νλ¦° μμμ κ°λ³μ±μ νμ 맀κ°λ³μκ° ν΄λμ€ κ³μΈ΅μ μν₯μ μ£Όλ κ²μ λ§νλ€. μλ₯Ό λ€μ΄ νμ Aμ κ°μ΄ νμν λͺ¨λ ν΄λμ€μ νμ Bμ κ°μ λ£μ΄λ λ¬Έμ κ° μλ€λ©΄ Bλ Aμ νμ νμμ΄ λλ€. μλ μ½λλ₯Ό 보μ. val integer : Int = 1 val number : Number = integer // Numberλ μμ μλ£ν, Intλ νμ μλ£ν IntνμΌλ‘ μ μΈν integer λ³μκ° NumberνμΌλ‘ μ μΈν number λ³μμ ν λΉν΄λ μ무 λ¬Έμ κ° μλ κ²μ λ³Ό μ μλ€. μ΄κ² λ°λ‘ κ°λ³μ±μ΄λ€. λ λ€λ₯Έ μλ‘λ Int?μ Intκ° μλ€. Int?λ nullλ ν¬ν¨νλ―λ‘ Int?κ° Intμ μμ μλ£νμ΄ λλ€. κ°λ³μ±μ 3κ°μ§ μ ν κΈ°λ³Έμ μΌλ‘..
π» κ°λ°/Kotlin
μ λ€λ¦ μ λ€λ¦ , λ€λ₯Έ μΈμ΄λ₯Ό μ΄λ―Έ κ²½ννκ³ μλ€λ©΄ λ―μ λ¨μ΄λ μλλ€. λ λμΆ© μκΈ°νλ©΄ μλ£ν μ λμ€μ μ μΈνλ? κ·Έλ° λλμ΄λ€. μ°μ νμ€νκ² μ§κ³ λμ΄κ°λ³΄μ. κ·Έλμ μ λ€λ¦μ΄ λκ³ μ μ°λκ±°μμ? π€ μ λ€λ¦ μ ν΄λμ€ λ΄λΆμμ μ¬μ©ν μλ£νμ λμ€μ μΈμ€ν΄μ€λ₯Ό μμ±ν λ νμ νλ λ°©λ²μ΄λ€. μ λ€λ¦μ΄ λμ€κ² λ λ°°κ²½μ μλ£νμ κ°μ²΄λ€μ λ€λ£¨λ λ©μλλ ν΄λμ€μμ μ»΄νμΌ μκ°μ μλ£νμ κ²μ¬νμ¬ μ λΉν μλ£νμ μ ννκΈ° μν΄μμ΄λ€. μ λ€λ¦μ μ¬μ©νλ©΄ κ°μ²΄μ μλ£νμ μ»΄νμΌν λ 체ν¬νκΈ° λλ¬Έμ κ°μ²΄ μλ£νμ μμ μ±μ λμ΄κ³ ν λ³νμ λ²κ±°λ‘μμ΄ μ€μ΄λ λ€. μ λ€λ¦μ μ¬μ© λ°©λ² μ λ€λ¦μ μ΅κΈ λΈλν· μ¬μ΄μ νμ 맀κ°λ³μ λ₯Ό λ£μ΄ μ μΈνκ³ νλ μ΄μμ νμ 맀κ°λ³μλ₯Ό μ§μ ν μ μλ€. νμ 맀κ°λ³μλ μ..
π» κ°λ°/Kotlin
λ³΄ν΅ ν΄λμ€ λ μμ±κ³Ό λμμ κ°μ§κΈ° λλ¬Έμ νλ‘νΌν° μ λ©μλ λ₯Ό λ©€λ²λ‘ κ°μ§λ€. λ¨μ½ νΉμ λμμ κ°μ§μ§ μκ³ μ€λ‘μ§ λ°μ΄ν° μ μ₯μ μν΄ μ¬μ©νλ€λ©΄ μΌλ°μ μΈ ν΄λμ€μμμ ꡬν λΆλΆμ νμκ° μμ κ²μ΄λ€. ꡬνλΆλ₯Ό μμ±νμ§ μμΌλ©΄ κ·Έλ§νΌ λ©λͺ¨λ¦¬λ₯Ό λ μ¬μ©νκ² λκ³ μμμ λλΉλ₯Ό λ§μ μ μκ² λ κ²μ΄λ€. μ΄μ²λΌ μ½νλ¦°μμλ λ°μ΄ν° μ μ₯μ μν ν΄λμ€κ° μλλ° λ°λ‘ λ°μ΄ν° ν΄λμ€ μ΄λ€. λ°μ΄ν° ν΄λμ€ λ³΄ν΅ λ°μ΄ν° μ λ¬μ μν κ°μ²΄λ₯Ό DTO(Data Transfer Object) λΌκ³ λΆλ₯Έλ€. ꡬν λ‘μ§μ κ°μ§κ³ μμ§ μκ³ μμν λ°μ΄ν° κ°μ²΄λ₯Ό νννκΈ° λλ¬Έμ μμ±κ³Ό μμ±μ μ κ·Όνκ³ μ νλ κ²ν°μ μΈν° λ₯Ό κ°μ§λ€. μΆκ°μ μΌλ‘ toString(), equals() κ³Ό κ°μ λ°μ΄ν°λ₯Ό νννκ±°λ λΉκ΅νλ λ©μλ..
π» κ°λ°/Kotlin
μΆμ ν΄λμ€ μΆμ ν΄λμ€ VS μΈν°νμ΄μ€ μΆμ ν΄λμ€ λ λλ΅μ μΈ μ€κ³μ λͺ
μΈμ 곡ν΅μ κΈ°λ₯μ ꡬνν ν΄λμ€μ΄λ€. μ¦, ꡬ체μ μ΄μ§ μμ κ²μ΄λ€. μΆμ ν΄λμ€ λ₯Ό μμνλ νμ ν΄λμ€ λ μΆμ ν΄λμ€μ λ΄μ©μ λ ꡬ체ν ν΄μΌ νλ€. μ€μ? κ·ΈλΌ μΆμ ν΄λμ€λ μΈν°νμ΄μ€λ κ°μ κ±° μλ? π€ μλ°ν λ§νλ©΄ λ€λ₯΄λ€. μΈν°νμ΄μ€ μμ λλ΅μ μΈ μ€κ³ λͺ
μΈλ₯Ό ꡬννκ³ μΈν°νμ΄μ€ λ₯Ό μμνλ νμ ν΄λμ€ μμ μ΄λ₯Ό ꡬ체ννλ κ²μ λμΌνλ€. νμ§λ§ μΈν°νμ΄μ€μμλ νλ‘νΌν°μ μν μ 보λ₯Ό μ μ₯ν μ μλ€. λ€μ λ§νλ©΄ μΈν°νμ΄μ€ μμλ νλ‘νΌν°μ μ΄κΈ°ν κ° λΆκ°λ₯νλ€λ κ²μ΄λ€. interface Vehicle { val name : String val color : String val weight : Double } ..