2022/05

πŸ’» 개발/iOS

[TIL] 22.05.27

κ³΅λΆ€ν•œ 것 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

[TIL] 22.05.26

κ³΅λΆ€ν•œ 것 Swift 문법 μ•Œκ²Œλœ 것 1. ν΄λž˜μŠ€μ™€ ꡬ쑰체의 차이 1. 곡톡점 값을 μ €μž₯ν•  ν”„λ‘œνΌν‹°λ₯Ό μ„ μ–Έν•  수 있음 ν•¨μˆ˜μ  κΈ°λŠ₯을 ν•˜λŠ” λ©”μ†Œλ“œλ₯Ό μ„ μ–Έν•  수 있음 λ‚΄λΆ€ 값을 .λ₯Ό 톡해 μ ‘κ·Όν•  수 있음 μƒμ„±μžλ₯Ό μ‚¬μš©ν•΄ 초기 μƒνƒœλ₯Ό μ„€μ •ν•  수 있음 Extension 을 μ‚¬μš©ν•˜μ—¬ κΈ°λŠ₯을 ν™•μž₯ν•  수 있음 Protocol 을 μ±„νƒν•˜μ—¬ κΈ°λŠ₯을 μ„€μ •ν•  수 있음 2. 차이점 - 클래슀 μ°Έμ‘° νƒ€μž… ARC 둜 λ©”λͺ¨λ¦¬λ₯Ό 관리 상속 κ°€λŠ₯ νƒ€μž… μΊμŠ€νŒ… 을 톡해 λŸ°νƒ€μž„μ—μ„œ 클래슀 μΈμŠ€ν„΄μŠ€μ˜ νƒ€μž…μ„ 확인할 수 있음 deinit 을 μ‚¬μš©ν•˜μ—¬ 클래슀 μΈμŠ€ν„΄μŠ€μ˜ λ©”λͺ¨λ¦¬ 할당을 ν•΄μ œν•  수 있음 같은 클래슀 μΈμŠ€ν„΄μŠ€λ₯Ό μ—¬λŸ¬ 개의 λ³€μˆ˜μ— ν• λ‹Ήν•œ 뒀에 값을 λ³€κ²½μ‹œν‚€λ©΄ λͺ¨λ“  λ³€μˆ˜μ— 영ν–₯을 쀌 (λ©”λͺ¨λ¦¬λ₯Ό 볡사) - ꡬ쑰체 κ°’ νƒ€μž… 같은 ꡬ쑰체λ₯Ό ..

πŸ’» 개발/Android

[Android] MVVM νŒ¨ν„΄ 적용기 - 2

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가지 μœ ν˜• 기본적으둜..

kodo_o
'2022/05 κΈ€ λͺ©λ‘