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: ..
๊ธฐ์กด์ ๋น๋๊ธฐ ์ฒ๋ฆฌ ๋ฐฉ์์ (escaping completion ์ RxSwift single๋ก ๋ฆฌํฉํ ๋ง ์ดํ ํด๋น Single ํจ์๋ฅผ Fetch ํจ์ ๋ด๋ถ์์ ์ฌ์ฉ) async await ๋น๋๊ธฐ ์ฒ๋ฆฌ ๋ฐฉ์์ผ๋ก refactoring ํ๋ ๊ณผ์ ์ ๋๋ค. - ๊ธฐ์กด ์ฝ๋ (escaping completion + RxSwift single) Data - Repository - Search - Search User List API ์ ์ผ๋ถ // Data - Repository - Search - search user list ํจ์ ์์ private func lookUpRequest(userId: String, keyword: String, page: Int32 = 1, capacity: Int32 = 30, co..
์์ฑํ App ๊ตฌ์กฐ์ฒด import SwiftUI @main struct LandMarksApp: App { var body: some Scene { WindowGroup { ContentView() } } } @Main → ๊ตฌ์กฐ์ฒด ์ ์ธ ์์ @main ํน์ฑ์ ๋ถ์ฌ ์ฑ์ ์ง์ ์ ์ ๋ํ๋ ๋๋ค. ์ฑ์ ํ๋์ ์ง์ ์ ๋ง ๊ฐ์ง๋๋ค. App protocol: ์ฑ์ ๊ตฌ์กฐ์ ๋์์ ๋ํ๋ด๋ ์ ํ์ ๋๋ค. → ์ฑ ์์์ ContentView๋ฅผ ๋์ฐ๊ฒ ๋ค๋ ์๋ฏธ ContentView import SwiftUI struct ContentView: View { var body: some View { Text("Hello, world!") .padding() } } struct ContentView_Previews: PreviewP..
Struct protocol๋ก Hashable์ ์ฐ๋ ๊ฒฝ์ฐ๊ฐ ์์ต๋๋ค. import Foundation struct Landmark: Hashable, Codable { var id: Int var name: String var park: String var state: String var description: String } ์ด๋ ๊ฒ Fetchํ ๊ตฌ์กฐ์ฒด ๋ชจ๋ธ์ Hashable์ ์ฌ์ฉํ๊ธฐ๋ ํฉ๋๋ค. Hashable์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค. https://developer.apple.com/documentation/swift/hashable Hashable | Apple Developer Documentation A type that can be hashed into a to produce an intege..
- Total
- Today
- Yesterday
- swift urlsession network module
- ํ์ด๋จธ ์ดํ
- swift network refactoring
- swift network ๊ณตํตํ
- ๊ตฌ๊ธ ํ์ด๋จธ ์ดํ
- rag ๊ธฐ๋ฐ llm ์ฑ๋ด
- swift urlsession ๊ณตํตํ
- swift ์์ ๊ฐ์ ธ์ค๊ธฐ
- swift filemanager excel
- swift excel read
- deep timer
- filemanager excel read
- chatgpt rag llm
- focus timer ์ดํ
- llm pdf rag
- swift urlsession refactoring
- swift urlsession module
- swift ๋คํธ์ํฌ ๋ชจ๋ํ
- google timer ์ดํ
- swift ์์ ์ฝ๊ธฐ
- google timer application
- rag llm pdf
- swift ์๊ฐ
- swift network module
- swift urlcomponent encode
- swift get excel
- rag ๊ธฐ๋ฐ llm
- swift filemanager get excel
- swift queryitem encode
- llm csv
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |