์ด๋ ๊ฒ ์๊ธด ๊ธฐ๋ณธ UIPickerView ๋ฅผ ์ด๋ ๊ฒ custom ํด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. ๋งจ์์ ๊ธฐ๋ณธ UIPickerView์ ์ฝ๋ ์ ๋๋ค. ์ฌ๊ธฐ์ ์์ ํด๋๊ฐ๊ฒ ์ต๋๋ค. // // TestViewController.swift // BusanWelfareProgram // // Created by jh on 2021/09/15. // import UIKit class TestViewController: UIViewController { var gugunList: [String] = ["๊ฐ์๊ตฌ", "๊ธ์ ๊ตฌ", "๊ธฐ์ฅ๊ตฐ", "๋จ๊ตฌ", "๋๊ตฌ", "๋๋๊ตฌ", "๋ถ์ฐ์ง๊ตฌ", "๋ถ๊ตฌ", "์ฌ์๊ตฌ", "์ฌํ๊ตฌ", "์๊ตฌ", "์์๊ตฌ", "์ฐ์ ๊ตฌ", "์๋๊ตฌ", "์ค๊ตฌ", "ํด์ด๋๊ตฌ"] @IBOutlet weak var p..
ํฐ๋ฏธ๋๋ก ๊น๋ฑ๋กํ๋๋ฐ ์ค๋ฅ๊ฐ ๋ฌ๋ค.. ๊นํ๋ธ ์์ด๋, ๋น๋ฐ๋ฒํธ ๋ง๊ฒ ํ๋๋ฐ ๋ถ๋ช ํ ์ค๋ฅ๋ฅผ ๋ณด๋ remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead. remote: Please see https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/ for more information. godpago said : "์๊ฒฉ: ์ํธ ์ธ์ฆ ์ง์์ด 2021๋ 8์ 13์ผ์ ์ ๊ฑฐ๋์์ต๋๋ค. ๋์ ๊ฐ์ธ ์ก์ธ์ค ํ ํฐ์ ์ฌ์ฉํ์ญ์์ค." ๋ผ๋ค์. ๊ฐ์ธ ์ก์ธ์ค ํ ํฐ์ ์์ฑํด๋ณด๋๋ก ..
๊ฐ๋ ์ ์ธ ๋ถ๋ถ์ ์ ์ธํ๊ณ ๊น์ ๋ํ ์ฌ์ฉ๋ฒ ์ฝ๋๋ง์ ์ ๋ฆฌํ ๊ธ์ ๋๋ค. 1. git init ๊น ์ด๊ธฐํ 2. git status ๊น ์ํ ํ์ธ 3. git add . ๊น์ ํ์ผ ์ถ๊ฐ 3-2. git rm --cached ํ์ผ์ด๋ฆ push ์ทจ์ (์๊ฒฉ์ ์ฅ์์์ ํด๋น ํ์ผ ์ ๊ฑฐ, ๋ก์ปฌ์์๋ ์ ๊ฑฐ์๋จ)ex. API_KEY_Secret.xcconfig ํ์ผ์ ์ค์๋ก pushํ์ฌ ์๊ฒฉ์ ์ฅ์์ ์ฌ๋ ค๋ฒ๋ ธ๋ค. ํ์ง๋ง ์ ๊ฑฐํด์ push ํ๋๋ผ๋ cache๊ฐ ๋จ์์๋๋ฐ git rm--cached API_KEY_Secret.xcconfig ํ์ฌ์๊ฒฉ์ ์ฅ์์ ๋จ์์๋ cache๋ฅผ ์ ๊ฑฐํ ์ ์๋ค!! 3-3. git rm --cashed ํ์ผ์ด๋ฆ ์๊ฒฉ์ ์ฅ์์์ ํด๋น ํ์ผ์ ์ญ์ ex)git rm --cashed .xcconfig ..
์ฑ๊ธํคํจํด์ด๋. ํด๋์ค์ ์ธ์คํด์ค(๊ฐ์ฒด)๋ฅผ ํ๋๋ง ๋ง๋ค์ด์ ์ฐ๋ ํจํด 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 ๊ฐ์ ..
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
- chatgpt rag llm
- swift ์์ ์ฝ๊ธฐ
- google timer application
- swift urlsession refactoring
- swift filemanager excel
- swift excel read
- swift network ๊ณตํตํ
- swift get excel
- swift filemanager get excel
- swift ์๊ฐ
- llm pdf rag
- swift network module
- rag ๊ธฐ๋ฐ llm
- swift ์์ ๊ฐ์ ธ์ค๊ธฐ
- swift network refactoring
- swift queryitem encode
- filemanager excel read
- swift urlsession network module
- ํ์ด๋จธ ์ดํ
- rag llm pdf
- swift urlcomponent encode
- ๊ตฌ๊ธ ํ์ด๋จธ ์ดํ
- swift urlsession module
- google timer ์ดํ
- swift ๋คํธ์ํฌ ๋ชจ๋ํ
- swift urlsession ๊ณตํตํ
- focus timer ์ดํ
- llm csv
- rag ๊ธฐ๋ฐ llm ์ฑ๋ด
- deep timer
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |