๋ถ์ฐ์ ์ฌํ๋ณต์ง ํ๋ก๊ทธ๋จ์ ๋ํ ์ ๋ณด๋ฅผ ์ ๊ณตํ๋ ์ดํ์ ๋๋ค.์ง์ญ์ ์ ํํ์ฌ ํด๋น ๊ตฌ์์ ์ง์ํ๋ ์ฌํ๋ณต์ง ํ๋ก๊ทธ๋จ๋ค์ ํ์ธํ์ธ์. ๊ฐํธํ UI/UX ์ดํ๋ก ์ ๋ณด๋ฅผ ์ ๊ณตํ๋ฉด ์ฌํ๋ณต์ง๊ฐ ํ์ํ ์ฌ๋๋ค์ด์ข ๋ ์ฝ๊ฒ ์ด์ฉํ ์ ์์๊ฑฐ๋ผ ์๊ฐํ์ฌ ์ ์ํ๊ฒ ๋์์ต๋๋ค. ๋ถ์ฐ ์ฌํ๋ณต์ง ๊ณต๊ณต API๋ฅผ ํ์ฉํ์ฌ ์ ์ํ์์ต๋๋ค. (https://www.data.go.kr/data/15067334/openapi.do) MVC ๋์์ธ ํจํด์ ์ฑํํ๊ณ ์๊ณ , request API๋ก Alamofire ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ์์ต๋๋ค.UserDefault์ ์ ํํ ์ง์ญ๊ตฌ์ ์ ๋ณด๋ฅผ ์ ์ฅํ์ฌ ์๋ก ์ผฐ์๋ ์ ํVC๋ฅผ ์คํตํฉ๋๋ค. ๋ณต์ง ์ผํฐ์ ์ ํ ๊ธฐ๋ฅ๊ณผ ์์น ์ ๋ณด๋ฅผ ์ ๊ณตํฉ๋๋ค. ์ฑ์คํ ์ด ๋งํฌ : https://apps.apple.com/kr..
ํ ์ด๋ธ๋ทฐ์ ์คํฌ๋กค์ ๋งจ์๋ก ์ฌ๋ ธ์ ๋, navigationbar์ title์ large๋ก ์ค์ ํ๋ ๋ฐฉ๋ฒ์ ๋๋ค.(์๊พธ small๋ก ๋์์) ์ฐ์ Large Title ์ค์ ๋ฐฉ๋ฒ์ ๋๋ค. ์ด๋ ๊ฒ ์ค์ ํด์ฃผ๋ฉด Large ํ์ดํ๋ก ์ ๋์ค๋ ๋ชจ์ต์ ๋๋ค.. largeTitleDisplayMode์ ๊ฐ์ผ๋ก .automatic ์ ์ค์, ์คํฌ๋กค ํ๋ฉด small ๋ก ๋ฐ๋๋๋ค. ์ด๋ ๊ฒ ๋ง์ด์ฃ . ์ด์ scroll to top ํ๋ ๋ฐฉ๋ฒ์ ๋๋ค. tableView.scrollToRow(at: IndexPath(row: NSNotFound, section: 0), at: .top, animated: false) ๋์์ด ์ด๋ฃจ์ด์ง๋ ๊ณณ์ ๋ฃ์ด์ฃผ๋ฉด ๋๊ฒ ์ฃ ? row์ 0 ์ ํด๋ ๋์ง๋ง ๊ทธ๋ฌ๋ฉด ์ ์ด ์กด์ฌํ์ง ์์ ๋ ์๋ฌ๊ฐ ๋ ์. ๊ทธ๋์..
3*N์ผ๋ก ์ฝ๋ ์ ๋ทฐ์ cell์ ๋์ดํ๋ ๋ฐฉ๋ฒ์ ๋๋ค. ์ฒซ๋ฒ์งธ. (์ ๊ฐ ๊ฐ๊ฒฉ ์กด์ฌo, ๋ง์ง๊ฐ ์กด์ฌx) ๊ฒ์ ์ ํ ๋๋ฆฌ์ ์ด๋ก์ ์ ์ฌ์ด์ ๊ฐ๊ฒฉ์ด ์กด์ฌํ์ง ์๋ ์ข์ฐ๋ก ๋ฑ ๋ถ์ ๋์ด ๋ฐฉ์์ ๋๋ค. / MARK: - FlowLayout // ๋ง์งx, ์ฌ๋ฐฑo extension ViewController: UICollectionViewDelegateFlowLayout { //1 func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize { let interval:CGFloat = 3 let width:..
์ด๋ ๊ฒ ์๊ธด ๊ธฐ๋ณธ 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 ๊ฐ์ ๊ฒ๋ ๋จ์ถํค๋ก ๋ฑ๋กํด๋๋ฉด ์ ์ฉํ ๊ฒ ๊ฐ์์. (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 : ์ ์ธํ ๋ชจ๋ ์ธ์ ๋ค๋ฅธ ๋ชจ๋์์๋ ์ ๊ทผ์ด ๊ฐ๋ฅํ๋๋ก ํฉ๋๋ค. ๋ค๋ฅธ ๋ชจ๋์์๋ ์ค๋ฒ๋ผ์ด๋์ ์๋ธํด๋์ฑ์ด ๊ฐ๋ฅํด์. ์ค๋ฒ๋ผ์ด๋ฉ์ ์ด์ ..
- Total
- Today
- Yesterday
- rag๊ธฐ๋ฐ ์ฑ๋ด
- rag llm pdf
- swift ์๊ฐ
- swift filemanager get excel
- rag ์์ฑํ ai
- ๋ ๋์ธ์ด ์ดํ
- rag ์์
- swift excel read
- llm rag
- ๋น๋๊ธฐ ํ์ด์ง swift
- swift git ignore
- ์๋์ํํธ ๋ ์ด์ธ์ด
- ๋น๋๊ธฐ ๋ฆฌ์คํธ swift
- concurrency pagination
- llm pdf rag
- rag ai
- ios gitignore
- readysay
- chatgpt rag llm
- rag ์ฑ๋ด
- filemanager excel read
- ๋ ๋์ธ์ด
- llm csv
- rag๊ธฐ๋ฐ ai
- swift filemanager excel
- swift get excel
- swift ์์ ๊ฐ์ ธ์ค๊ธฐ
- swift ์์ ์ฝ๊ธฐ
- ๊ณต๋ถ ํ์ด๋จธ ์ดํ
- rag ๊ธฐ๋ฐ llm
| ์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
|---|---|---|---|---|---|---|
| 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 | 31 |