
์ฑ๊ธํคํจํด์ด๋. ํด๋์ค์ ์ธ์คํด์ค(๊ฐ์ฒด)๋ฅผ ํ๋๋ง ๋ง๋ค์ด์ ์ฐ๋ ํจํด Singleton pattern์ ๋ํด ์์ฑ๋ฐฉ๋ฒ, ์ ์, ์ฐ์ ์์ผ๋ก ์ ๋ฆฌํด๋๊ฐ๊ฒ ์ต๋๋ค. 1. ์ฑ๊ธํค ํจํด ์์ฑ ๋ฐฉ๋ฒ. ์ฐ์ class๋ฅผ ์์ฑํ๊ณ ๋ด๋ถ์๋, class์ ์ ๊ทผํ ์ ์๋๋ก ํ๋ class ์์ฒด ์์๋ฅผ static ์ผ๋ก ์ ์ธ ํด์ค๋๋ค. static์ ๋ถ์ด๋ฉด 'shared' ๋ ์์์ด ์๋๋ฉฐ ์ธ์คํด์คํ ํ์ฌ ์ฌ๋ฌ๊ฐ ์์ฑ ๋์ง ์๋๋ก ํด์ค๋๋ค. ( static ์ ์ ๋ชจ๋ฅด์ ๋ค๋ฉด https://ggasoon2.tistory.com/2#typeProperty ์ด ๊ธ์ 'ํ์ ํ๋กํผํฐ'๋ฅผ ์ฐธ๊ณ ํด์ฃผ์ธ์.^^ ) ๊ทธ๋ฆฌ๊ณ private init() ์์ฑ์๋ฅผ private์ผ๋ก ์ ํํ์ฌ ์ธ๋ถ์์ ์ธ์คํด์ค๋ฅผ ์์ฑํ์ง ๋ชปํ๋๋ก ํ์ฌ, 'Si..

๋จ๋ฝ์ ํ์ํด์ฃผ๊ธฐ ์ํด // MARK: - ๋ฅผ ๋ง์ด ์ฐ๋๋ฐ ์ด๋ ๊ฒ ํ์ํด๋๋ฉด.์ํ๋ ํจ์๋ฅผ ์ฐพ๊ธฐ๊ฐ ํธํด์ ๋ถ๋งํฌ ๊ธฐ๋ฅ์ด ์์ต๋๋ค. ์ด๊ฑธ ๋จ์ถ์ด๋ก ์ค์ ํ๋ ค๊ณ ํฉ๋๋ค ์ฐ์ // MARK: - ์์ฑ ํ ๋๋๊ทธ ํ์ฌ Create Code Snippet ๋ค์ด๊ฐ์ค๋๋ค. ๊ทธ ๋ค์์ // MARK: - ์ ์ด ์ฃผ์๊ณ Completion ์๋ ์ค์ ํ๊ณ ์ถ์ ๋จ์ถ์ด๋ฅผ ์ ์ด์ฃผ์ธ์.์ ๋ ๋จ์ถ์ด๋ก mark๋ผ ์ ์ด์คฌ์ด์. bookmark๋ผ๋ ๋์ฒด ๋๋ ํ๋ผ๋ฏธํฐ๋ ๋ก ์์ฑ ๊ฐ๋ฅํฉ๋๋ค. ๊ทธ๋ฌ๋ฉด ์ด์ mark ๋ผ๊ณ ํ์ดํ ํ๊ธฐ๋์ ์ m๋ง ์ณ๋ ๋จ๋ ๋ชจ์ต ์ํฐ๋ฅผ ๋๋ฌ์ค๋๋ค. + ์ถ๊ฐ๋ก @IBOutlet ๊ฐ์ ๊ฒ๋ ๋จ์ถํค๋ก ๋ฑ๋กํด๋๋ฉด ์ ์ฉํ ๊ฒ ๊ฐ์์. (ibo ๋ง ์ณ๋ ๋์ค๋๋ก..) ๋ด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค. ..

Delegate Pattern์ iOS์์ ๋ง์ด ์ฌ์ฉ๋๋ ๋์์ธ ํจํด์ด์์. ๊ฐ์ฒด ํ๋ก๊ทธ๋๋ฐ์ ์์ด ํ๋์ ๊ฐ์ฒด๊ฐ ๋ชจ๋ ์ผ์ ์ฒ๋ฆฌํ๋๊ฒ ์๋๋ผ ์ฒ๋ฆฌํ๋ ๋ถ๋ถ๋ง ๋ ๋ผ์ด๋ด์ด ๋ฐ๋ก ๊ฐ์ฒด๋ก ๋ง๋ค์ด์ฃผ๊ณ ๊ทธ๊ฑธ ๋๊ธฐ๋(์์: Deletate) ๋ฐฉ๋ฒ์ ๋๋ค. abc.delegate = self ๋ง์ด ๋ด์์ต๋๋ค. self(viewController)์์ abc์ ๊ธฐ๋ฅ๋ค์ ์ฐ๊ฒ ๋ค๋ ๋ป. ๊ตฌ์ฒด์ ์ธ ์์๋ฅผ ๋ณด๊ฒ ์ต๋๋ค. import UIKit class ViewController: UIViewController { @IBOutlet weak var tableView: UITableView! override func viewDidLoad() { super.viewDidLoad() tableView.delegate = self t..

public๊ณผ private ํจ์, ํด๋์ค, ํ๋กํผํฐ ๋ฑ ์ ์ธํ ๋ ํญ์ ์จ์์์ฃ .. public์ ๋์ถฉ ์ ์ญ ๋ณ์ ๋๋, private์ ์ง์ญ๋ณ์ ๋๋์ฒ๋ผ ์๊ฐํ๊ณ ๋์ด๊ฐ์ต๋๋ค. ๊ฐ๋ ์ ๋ช ํํ ์ดํดํ์ง ๋ชปํ์์ด์. ์ด๋ฒ์ ํ๋ฒ ์๋ฒฝํ ์ดํด๋ฅผ ํด๋ณด๊ณ ์ ๊ธ์ ์ ๋ฆฌํฉ๋๋ค. ์ฐ์ ์ด๋ฐ ๊ฒ๋ค์ Swift ์์๋ Access Control (์ ๊ทผ ์ ์ด)๋ผ๊ณ ๋ช ํด ๋์ต๋๋ค. ์ฌ์ฉํ๋ ๋ชฉ์ ์ ์ธ๋ถ์ ์ธ ๊ตฌํ์ ๊ฐ์ถ๊ณ , ํ์ํ๋งํผ๋ง ๊ณต๊ฐํด ๋ค๋ฅธ ๊ณณ์์ ์ฌ์ฉํ๋๋ก ํ๊ธฐ ์ํจ์ ๋๋ค. ๊ณต๊ฐ ์ ๋์ ๋ฐ๋ผ 5๊ฐ์ง ๋ ๋ฒจ๋ก ๋ถ๋ฅํด๋๋๋ฐ์. ๊ณต๊ฐ์ ๋๊ฐ ๋์ ์์ ๋ฐ๋ผ์ ์ ๋ฆฌํด๋ณด๊ฒ ์ต๋๋ค. 1. Open : ์ ์ธํ ๋ชจ๋ ์ธ์ ๋ค๋ฅธ ๋ชจ๋์์๋ ์ ๊ทผ์ด ๊ฐ๋ฅํ๋๋ก ํฉ๋๋ค. ๋ค๋ฅธ ๋ชจ๋์์๋ ์ค๋ฒ๋ผ์ด๋์ ์๋ธํด๋์ฑ์ด ๊ฐ๋ฅํด์. ์ค๋ฒ๋ผ์ด๋ฉ์ ์ด์ ..

๊ฒ์ ํค์๋์ ๋ฐ๋ฅธ ๊ฒฐ๊ณผ๋ฅผ ๋ ธ์ถํ ๋, ํค์๋์ ๋ณ๊ฒฝ์ฌํญ์ ๋ํ emit์ ์ ์ดํ๋ ค๊ณ Debounce๋ผ๋ ์คํผ๋ ์ดํฐ๋ฅผ ์ฌ์ฉํ์์ต๋๋ค. RxSwift๋ฌธ๋ฒ์ ๊ณต๋ถํ๋ฉด์ Throttle์ด๋ผ๋ ์คํผ๋ ์ดํฐ๋ฅผ ์ ํ๋๋ฐ, Debounce์ ๋น์ทํ๋ฉด์๋ ๋ช ํํ ์ฐจ์ด๊ฐ ์์ด ์ ๋ฆฌํ๊ฒ ๋์์ต๋๋ค. Debounce์ Throttle์ ์ด๋ฒคํธ๋ฅผ (์์ ์ธ ์ธก๋ฉด์์) ํจ์จ์ ์ผ๋ก ์ฒ๋ฆฌํ๊ธฐ ์ํ ๋ฐฉ๋ฒ์ด๋ผ๊ณ ํฉ๋๋ค. ๊ตฌ์ฒด์ ์ธ ์ ์์ ์ด๋ค ์ฐจ์ด๊ฐ ์๋์ง ์ค๋ช ํ๊ฒ ์ต๋๋ค. ์ฐ์ ๋๋ฐ์ด์ค์ ๋ํ ์ ์์ ๋๋ค. ์ง๊ด์ ์ธ ๋ง๋ธ ๋ค์ด์ด๊ทธ๋จ์ ๋จผ์ ๋ณด์๋ฉด. ์ด๋ ์ต๋๋ค. ์ฌ๋ฌ๊ฐ๊ฐ ๋ค์ด์๋๋ฐ ๋ง์ง๋ง item๋ง emit ๋ฉ๋๋ค. ์ฆ, ์ผ์ ํ ์๊ฐ ๊ฐ๊ฒฉ์ด ์ง๋๊ธฐ ์ ์ ๊ฐ์ด ๋ค์ด์ค๋ฉด ๊ทธ ๊ฐ๋ค์ emit ๋์ง ์์ต๋๋ค. ๊ทธ๋ฌ๋๊น ๊ฐ๊ฒฉ์ด 1์ด๋ผ๊ณ ํ์ ๋! ๊ฐ์ ..

final ์ฐ๋ ์ด์ ! static ์ฐ๋ ์ด์ ! class์ ์ฐจ์ด ํญ์ ์ ๋งคํ๊ฒ ํ๋ ๊ฒ๋ค.. ํ๋ฒ ์ ๋ฆฌํ๋ ๊ฒ ์ข๊ฒ ๋ค ์ถ์ด์ ๊ธ์ ์๋๋ค. ๊ธ์ด ๋๋ฌด ๊ธฐ๋๊น ๊ฒฐ๋ก ๋ถํฐ ๋ง์๋๋ฆด๊ฒ์. 1. final ์ ์ค๋ฒ๋ผ์ด๋ฉ์ ๋ฐฉ์งํ๊ธฐ ์ํจ. 2. static๊ณผ class์ ์ฐ์์ ๋ฉ์๋์ ํ๋กํผํฐ๋ฅผ ์ธ์คํด์คํ ํ์ง ์๊ณ ํ๋๋ง ์กด์ฌํ๋๋ก ํ๊ธฐ ์ํด ์ฌ์ฉ. -> ํ์ ๋ฉ์๋, ํ์ ํ๋กํผํฐ๊ฐ ๋จ, ์ฐจ์ด๋ static์ ์์์ด ๋ถ๊ฐํ๋ค๋์ . ์์ฝ์ ๋ณด๊ณ ๋ช ํํ๊ฒ ์ดํด๊ฐ ์๊ฐ์ ๋ค๋ฉด (์ ๋ ์ดํด๊ฐ ์๊ฐ์ ์ฐพ์๋ณด๊ณ ์ ๋ฆฌํจ) ๋ท๋ฐ์นจ๋๋ ๋ด์ฉ๊น์ง ์์ธํ๊ฒ ์ ๋ฆฌํ์ผ๋, ๋ค ์ฝ์ด๋ณด์ ๋ค๋ฉด ์ดํด๋์๋ฆฌ๋ผ ์๊ฐํด์. ์ฐ์ ์ฒซ๋ฒ์งธ, final ์ Overriding์ ๋ง๊ธฐ ์ํด ์ฌ์ฉ๋ฉ๋๋ค. Overriding ์ด๋? ๋ถ๋ชจ ํด๋์ค๋ก๋ถํฐ ์์..

์~ ์ฒซ ๊ธ์ ๋๋ค. ๋ญ๋ถํฐ ์จ์ผ ํ ์ง ๋ชจ๋ฅด๊ฒ ๋ค์. (๋๊ฐ ๋ด์ค์ง ๋ชจ๋ฅด๊ฒ ์ง๋ง) ํ์ฌ ์์ ์์ ๊ฐ์ ํ์ต ์ค ์ฐพ์๋ด์ผ๊ฒ ๋ค ํ๋ ์ฉ์ด๋ถํฐ ์ ๋ฆฌํด๋๊ฐ๊ฒ ์ต๋๋ค. ์์ผ๋ก๋ ๊ณต๋ถํ๋ฉฐ ๋ชจ๋ฅด๋ ๋ด์ฉ์ ๋ํ์ฌ ์ ๋ฆฌํด๋๊ฐ ๊ณํ์ ๋๋ค. ์ฒซ ๋ฒ์งธ. compactMap ์ ํ ๋ฌธ์์์ compactMap ์ ์๋ ๋ฐฐ์ด์ ๋ฐํํ๋ค. nil์ด ์๋ ๊ฒฐ๊ณผ๊ฐ์ ๋ฐฐ์ด์ map์ map(ํจ์, ์๋ฃํ) ์ด๋ ๊ฒ ์๊ฒจ์ ์๋ฃํ์ ํจ์์ ์ ๋ ฅ๊ฐ์ผ๋ก ๋ฐ์ ์ฒ๋ฆฌํ๋ ์ฐ์ฐ ์ฒ๋ฆฌ์์ ๋๋ค. ๊ตฌ์ฒด์ ์ผ๋ก ์ด๋ค ์ฐจ์ด๊ฐ ์๋์ง ์์ ๋ก ํ์ธํด๋ณด๊ฒ ์ต๋๋ค. Map vs CompactMap map์ ํจ์๊ฐ ์์ด์ผ ํ๋ค๊ณ ํ์์ฃ ? (์์ ๋๋ฒ์งธ ์ค) ํจ์์ ํํ๋ ํด๋ก์ ์ ๋๋ค. ๋ฌธ์์ด์ธ ๋ฐฐ์ด๋ค์ ์์๋ฅผ Intํ์ผ๋ก ๋ฐ๊พธ๋ ์์ ์ ์งํํ์๋ค์ Int(t..
- Total
- Today
- Yesterday
- swift queryitem encode
- swift ์๊ฐ
- ์๋์ํํธ ๋ ์ด์ธ์ด
- swift network refactoring
- chatgpt rag llm
- swift urlsession refactoring
- swift urlcomponent encode
- llm pdf rag
- ๋ ๋์ธ์ด
- swift ์์ ์ฝ๊ธฐ
- focus timer ์ดํ
- filemanager excel read
- swift ๋คํธ์ํฌ ๋ชจ๋ํ
- swift filemanager excel
- swift filemanager get excel
- swift network module
- llm csv
- swift ์์ ๊ฐ์ ธ์ค๊ธฐ
- swift urlsession ๊ณตํตํ
- rag ๊ธฐ๋ฐ llm ์ฑ๋ด
- rag llm pdf
- swift get excel
- swift network ๊ณตํตํ
- ๊ณต๋ถ ํ์ด๋จธ ์ดํ
- ๋ ๋์ธ์ด ์ดํ
- swift excel read
- rag ๊ธฐ๋ฐ llm
- swift urlsession network module
- swift urlsession module
- readysay
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |