์ดํ '๋ง์๋ณด๊ธฐ' ์ ๋๋ค ์ผ๊ธฐ๋ฅผ ์ฐ๋ฉด์ ์ค๋ ํ๋ฃจ ๋ด ๋ง์์ ๋ค์ฌ๋ค ๋ณด์ธ์ ๐ - ์ค๋ ๊ฐ์ ์ ์ด๋ฆ ๋ถ์ด๊ธฐ116๊ฐ์ ๊ฐ์ ์ด๋ฅผ ํตํด ๋ด ๋ง์์ ๋ค์ฌ๋ค ๋ณผ ์ ์์ต๋๋ค- ๊ฐ์ ์ด๋ก ๊ธฐ๋กํ๋ ํ๋ฃจ์ค๋์ ๊ฐ์ ์ผ๋ก ํ๋ฃจ๋ฅผ ๊ธฐ๋กํ ์ ์์ต๋๋ค- ์บ๋ฆฐ๋๋ก ๋ชจ์๋ณด๋ ๋ง์ (์บ๋ฆฐ๋)๋งค๋ฌ ๋ด ๋ง์์ ์ด๋ ๋์ง ์บ๋ฆฐ๋๋ก ๋ชจ์ ๋ณผ ์ ์์ต๋๋ค- ์ง๋ ๋ง์ ์ดํด๋ณด๊ธฐ (ํต๊ณ)๊ฐ์ ๊ทธ๋ํ๋ฅผ ํตํด ์ง๋ ๋ง์์ ์ ๋ฆฌํ ์ ์์ต๋๋ค ์ฑ์คํ ์ด ๋ฐ๋ก๊ฐ๊ธฐ ๋ง์๋ณด๊ธฐ๋ง์๋ณด๊ธฐ์ ๊ธฐ๋ฅ์ ์๊ฐํ ๊ฒ์. - ์ค๋ ๊ฐ์ ์ ์ด๋ฆ ๋ถ์ด๊ธฐ 116๊ฐ์ ๊ฐ์ ์ด๋ฅผ ํตํด ๋ด ๋ง์์ ๋ค์ฌ๋ค๋ณด์์. - ๊ฐ์ ์ด๋ก ๊ธฐ๋กํ๋ ํ๋ฃจ ์ค๋์ ๊ฐ์ ์ผ๋ก ํ๋ฃจ๋ฅผ ๊ธฐ๋กํด์. - ์บ๋ฆฐ๋๋ก ๋ชจ์๋ณด๋apps.apple.com
๋จผ์ ํ๊ฐ ์ค์ ์ ๋๋ค. // ํ๊ฐ extension UILabel { func setLineSpacing(ratio: Double) { let style = NSMutableParagraphStyle() let lineheight = self.font.pointSize * ratio //font size * multiple style.minimumLineHeight = lineheight style.maximumLineHeight = lineheight self.attributedText = NSAttributedString( string: self.text ?? "", attributes: [ .paragraphStyle: style ]) } } extension UILabel { func setLin..
UI๋ฅผ code๋ก ๊ตฌํํ๋ค๋ณด๋ฉด ์ง์ ๋ถํด์ง ์๊ฐ ์์ต๋๋ค. ์ด๋ ๊ฒ ํ๋ฒ์ ๋ค์ ์์์๋๋ฐ ์ฌํํธ + ์ต์ + ์ปค๋งจ๋ + ๋ฐฉํฅํค(์ข,์ฐ) ๋ก ํ๋ฒ์ ๋ค ํผ์น๊ฑฐ๋ ๋ค ์ ์ ์ ์์ต๋๋ค ํ๋๋ง ์ ๊ณ ์ถ์ผ๋ฉด ์ฌํํธ๋ฅผ ๋นผ๋ณด์ธ์ ๊ทธ ์ธ ํ๋ฒ์ ์ฌ๋ฌ์ค ์์ ์ ๋ ฅํ๊ธฐ ์ปจํธ๋กค + ์ฌํํธ + ๋ฐฉํฅํค(์๋, ์) ํด๋น ๋ณ์ ์ด๋ฆ ๋ณ๊ฒฝ ์ปจํธ๋กค + ์ปค๋งจ๋ + e ์๋ ์ฝ์์ฐฝ ํผ์น๊ธฐ ์ปค๋งจ๋ + ์ฌํํธ + Y ์ฐ์ธก ํ๋ก์ ํธ ํ์์์ญ ์ปค๋งจ๋ + 0 ์ข์ธก ์์ฑ ์์ญ ์ปค๋งจ๋ + ์ต์ + 0 ์ถ๊ฐ์ ์ผ๋ก ์์ฃผ ์ฌ์ฉํ๋ ์ฝ๋ ๋จ์ถํค๋ก ์ ๋ ฅํ๋ ๋ฐฉ๋ฒ์ ๋๋ค https://ggasoon2.tistory.com/7 ์ด๋ฐ์์ผ๋ก code snippet์ผ๋ก ๋ฑ๋กํด๋๋ฉด uitf๋ง ์ณ๋ ์ ์ฝ๋๊ฐ ๋์จ๋ต๋๋ค ์ ๋ 30๊ฐ ์กฐ๊ธ ๋๊ฒ ๋ฑ๋กํด๋๋ค์ ์ด๋ฐ์์ผ๋ก ์์ฃผ ์ฐ..
Coordinator ํจํด์ ๋ง๋ ์ฌ๋์ด ์์ฑํ ์ ์ ์ด์ ์ ๊ฐ๋ ์๊ฐ ์ ๋๋ค. https://khanlou.com/2015/01/the-coordinator/ ์ฐ์์ด๋ ์ฝ๋๋ฅผ ๋ณด๊ธฐ์ ์์ ์ด๋ค ๊ฐ๋ (์ด๋ค ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ๋ ค๊ณ )์ผ๋ก ๋ง๋ค์๋์ง ์ค๋ช ๋์ด ์๋ค์ Coordinator ํจํด์ด๋ ์ฌ๋ฌ VC๊ฐ Navigation์ ์ด๋์ด๋ ๋ฐ์ดํฐ, ์ด๋ฒคํธ์ ์ ๋ฌ์ ๊น๋ํ๊ณ ๋ถ๋ฆฌ๋ ๋ฐฉ์์ผ๋ก ๊ด๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ๋๋ค. ๊ฐ VC๋ Coordinator ์ ์ฐ๊ฒฐ๋์ด์์ต๋๋ค. ๊ทธ๋์ Coordinator๋ฅผ VC๊ฐ ์ค์ฌ์ ์ญํ ์ ํ๊ณ present์ dismiss๋ฅผ ์ ์ดํ๋ ์ญํ (ํ๋กํ ์ฝ)๋ก ๋ด๋ ๋ ๊ฒ ๊ฐ์ต๋๋ค ๊ฐ๋จํ ์์์ ๋๋ค. (์ 3๊ฐ์ง๋ฅผ ์ ์ฉ) Home VC์์ ํญํ์๋ Detail VC๋ก ๋์ด๊ฐ๋ ํ๋ฉด์ ํ์ Coordi..
์ฐ์ Launch Screen์๋ custom class, custom UI ๋ฑ์ ์ฌ์ฉํ ์ ์์ต๋๋ค. (์ค์ง Storyboard + ๊ธฐ๋ณธ UI Component๋ง ์ฌ์ฉ ๊ฐ๋ฅ) ๊ทธ๋์ Launch Screen์ Gif(Custom Class)๋ ๋ฃ์ ์ ์๊ณ ๋์ ์ด๋ฐ์์ผ๋ก Launch Screen ์ดํ Custom Splash VC๋ฅผ ์ถ๊ฐํ์ฌ gif๋ฅผ 1 ~ 2์ด ์ฌ์ํ ๋ค Main VC๋ก ๊ฐ๋ ๋ฐฉ๋ฒ์ ์ ํํ ์ ์์ต๋๋ค. SceneDelegate์์ func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) { guard let _ = (sce..
์ ์ฌ์ง ๊ฐ์ drop down ์ฒ๋ผ ๋ถ๋ชจ๋ทฐ์ ํ๋ ์์ ํ์์ด๊ณ ์์๋ทฐ๋ ์ด๋ก์ ์์ญ์ผ ๋ ๋ถ๋ชจ๋ทฐ์ ์์ญ์ธ (3)์ ์์๋ทฐ๋ ํฐ์น๊ฐ ๋๋๋ฐ (4)๋ ๋ถ๋ชจ์ ์์ญ ๋ฐ์ด๋ผ ํฐ์น๊ฐ ์๋ฉ๋๋ค. ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด์ ๋ทฐ ์์ฒด์์ ํฐ์น๋ฅผ ๊ฐ์งํ๋ ๋ฉ์๋๋ฅผ ์ฌ์ ์ํ๋ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค. class CustomUIView: UIView { override func hitTest(_ point: CGPoint, with event: UIEvent?) -> UIView? { if !self.clipsToBounds && !self.isHidden && self.alpha > 0.0 { let subviews = self.subviews.reversed() for member in subviews { let subPoi..
๋ชฉ๋ก ์ฝ๋ AudioEngine setCategory, setMode - ์ค๋์ค ์์ง ์ ์ ์ฝ๋ ์์ฑ๊ฐ AVAudioSession.Category - ์ ์ถ๋ ฅ์ ์ด AVAudioSession.CategoryOptions - ๊ถํ์ฌ๋ถ AVAudioSession.Mode - ์ ๋ ฅ ๋ชจ๋์ ์ข ๋ฅ, ์ถ๋ ฅ ๋ชจ๋์ ์ข ๋ฅ AVAudioSession.Port - ์ ์ถ๋ ฅ ์ฅ์น ์ค๋์ค ์ ์ ์ฝ๋ Audio Engine setCategory, setMode - ์ค๋์ค ์์ง ์ ์ let audioSession = AVAudioSession.sharedInstance() do { try audioSession.setCategory(.playAndRecord, options: .allowBluetooth) try audioSessio..
1. Build With Timing Summary ๋น๋ ์๊ฐ์ ์์ฝํ๊ณ ์ต์ ํ ํด์ค๋ค๊ณ ํจ. 2. Xcode Build Setting ์์ ( TARGETS -> Build Setting ์์ ๊ฒ์ํ๋ฉด ๋์ด ) a) BUILD ACTIVE ARCHITECTURE ONLY Debug: Yes Release: No b) COMPILATION MODE Debug: Incremental Release: Whole Module c) OPTIMIZATION LEVEL Debug: No Optimization [-Onone] Release: Optimize for Speed [-O] d) DEBUG ..
๋ ํผ๋ฐ์ค raywenderlich tutorial, ์ ํ ๊ณต์๋ฌธ์ https://www.kodeco.com/632-ibeacon-tutorial-with-ios-and-swift https://developer.apple.com/ibeacon/Getting-Started-with-iBeacon.pdf https://developer.apple.com/documentation/corelocation/determining_the_proximity_to_an_ibeacon_device iBeacon์ด ์ ๊ณตํ๋ ์ ๋ณด iBeacon๋ UUID, major, minor์ ๋ณด๋ฅผ ๊ฐ์ง๊ณ ์์. iBeacon ์๋ณ 1. iBeacon์ ์ฌ์ฉํ๊ธฐ์ํด์ iBeacon์ UUID๋ฅผ Client์์ ์๊ณ ์์ด์ผํ๋ค. (๋ชจ๋ฅด๋ฉด ์..
VC๊ฐ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๊ฑฐ๋ ์ํธ์์ฉ์ ํ๊ธฐ ์ํด์๋ next vc์ ๋ฐ์ดํฐ๋ฅผ ์ง์ ์ ์ผ๋ก ์ ๋ฌํ๊ฑฐ๋, delegate ๋ฐฉ์์ผ๋ก ์ ๋ฌ(https://ggasoon2.tistory.com/6) ๋๋ rxSwift subscribe binding(https://ggasoon2.tistory.com/25)๋ฑ์ ์ด์ฉํ์ฌ ๋ฐ์ดํฐ๋ trigger๋ฅผ ์ ๋ฌ ํ ์ ์์ต๋๋ค. ๊ทธ๋ฐ๋ฐ VC๊ฐ ์ฌ๋ฌ๊ฐ ์ค์ฒฉ๋์ด ์์ ๊ฒฝ์ฐ delagte๋ subcrbie vm์ ์ ๋ฌํ๊ธฐ๊ฐ ์ฝ์ง๊ฐ ์์ ๊ฒ ๊ฐ์์. ๊ทธ๋ด ๊ฒฝ์ฐ Notifcation์ ์ด์ฉํ๋ฉด ๊ฐํธํ๊ฒ ๊ฑฐ๋ฆฌ๊ฐ ๋จผ VC์ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ ์ ์์ต๋๋ค. 1. Notification observable emit (๋ฐ์ ) NotificationCenter.default.post(name: ..
- Total
- Today
- Yesterday
- llm pdf rag
- concurrency pagination
- rag๊ธฐ๋ฐ ์ฑ๋ด
- llm rag
- rag ์์ฑํ ai
- swift excel read
- rag ์์
- swift ์์ ๊ฐ์ ธ์ค๊ธฐ
- chatgpt rag llm
- rag ai
- llm csv
- ๋ ๋์ธ์ด ์ดํ
- swift ์๊ฐ
- filemanager excel read
- rag๊ธฐ๋ฐ ai
- ๋น๋๊ธฐ ํ์ด์ง swift
- ๊ณต๋ถ ํ์ด๋จธ ์ดํ
- rag llm pdf
- readysay
- swift ์์ ์ฝ๊ธฐ
- swift filemanager get excel
- swift get excel
- rag ๊ธฐ๋ฐ llm
- swift filemanager excel
- swift git ignore
- ๋น๋๊ธฐ ๋ฆฌ์คํธ swift
- ios gitignore
- ์๋์ํํธ ๋ ์ด์ธ์ด
- ๋ ๋์ธ์ด
- rag ์ฑ๋ด
| ์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
|---|---|---|---|---|---|---|
| 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 |