๋ถ๋ฅ ์ ์ฒด๋ณด๊ธฐ384 [Swfit] ํ(Queue) ๊ตฌํํ๊ธฐ Queue๋ฅผ ๊ตฌ์กฐ์ฒด์ ๋ฐฐ์ด์ ์ด์ฉํด ๊ตฌํํ ์ ์์ต๋๋ค.๋จผ์ ์ ๋ค๋ฆญ์ ํ์ฉํด Queue ๊ตฌ์กฐ์ฒด๋ฅผ ์ ์ํ๊ณ , ์ฃผ์ ๊ธฐ๋ฅ์ ๊ตฌํํด๋ณด๊ฒ ์ต๋๋ค. struct Queue { private var queue: [T] = [] var isEmpty: Bool { return queue.isEmpty } var count: Int { return queue.count } var peek: T? { return queue.first } mutating func enqueue(_ element: T) { queue.append(element) } mutating func dequeue() .. 2024. 9. 27. [Swift] ์คํ(Stack) ๊ตฌํํ๊ธฐ Stack์ ๊ตฌ์กฐ์ฒด์ ๋ฐฐ์ด๋ก ๊ตฌํํ ์ ์์ต๋๋ค.๋จผ์ ์ ๋ค๋ฆญ์ ์ด์ฉํด Stack ๊ตฌ์กฐ์ฒด๋ฅผ ์ ์ํ๊ณ , ์ฃผ์ ๊ธฐ๋ฅ์ ๊ตฌํํด๋ณด๊ฒ ์ต๋๋ค. struct Stack { private var stack: [T] = [] var isEmpty: Bool { return stack.isEmpty } var count: Int { return stack.count } var peek: T? { return stack.last } mutating func push(_ element: T) { stack.append(element) } mutating func pop() -> T? { .. 2024. 9. 27. [RxSwift] Observable Observable ์ด๋?Observable์ RxSwift์์ ๋ฐ์ดํฐ์ ์คํธ๋ฆผ์ ๋ํ๋ ๋๋ค. ๋จ์ํ ๋งํ์๋ฉด, Observable์ ์๊ฐ์ด ์ง๋จ์ ๋ฐ๋ผ ์ฌ๋ฌ ๊ฐ์ ๋ฐฉ์ถํ ์ ์๋ ๊ฐ์ฒด์ ๋๋ค. ์ด๋ฌํ ๊ฐ๋ค์ ์ฌ์ฉ์ ์ ๋ ฅ, ๋คํธ์ํฌ ์์ฒญ ์๋ต, ํ์ผ ์ ์ถ๋ ฅ ๋ฑ ๋ค์ํ ์์ค์์ ๋ฐ์ํ ์ ์์ต๋๋ค. Observable์ ์ธ ๊ฐ์ง ์ ํ์ ์ด๋ฒคํธ๋ฅผ ๋ฐฉ์ถํ ์ ์๋๋ฐ, ์ด๋ next, error, completed์ ๋๋ค.nextObservable์ด ์๋ก์ด ๋ฐ์ดํฐ ์์๋ฅผ ๋ฐฉ์ถํ ๋ ๋ฐ์ํฉ๋๋ค.Observable์ ์ฌ๋ฌ ๊ฐ์ next ์ด๋ฒคํธ๋ฅผ ๋ฐ์์ํฌ ์ ์์ต๋๋ค.error์๋ฌ๊ฐ ๋ฐ์ํ์ ๋ ๋ฐฉ์ถ๋๋ฉฐ, ์ดํ์๋ ๋ ์ด์์ ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ์ง ์์ต๋๋ค.completedObservable์ด ๋ชจ๋ ๋ฐ์ดํฐ ์์์ ๋ฐฉ์ถ์ ์๋ฃ.. 2024. 6. 7. [RxSwift] RxSwift๋? iOS ๊ฐ๋ฐ์๋ผ๋ฉด RxSwift์ ๋ํด ๋ค์ด๋ณธ ์ ์ด ์์ ๊ฒ์ ๋๋ค. RxSwift๋ Swift ์ธ์ด์ ๋ฐ์ํ ํ๋ก๊ทธ๋๋ฐ์ ๋์ ํ๋ ๊ฐ๋ ฅํ ํ๋ ์์ํฌ์ ๋๋ค. ์ด๋ฒ ํฌ์คํธ์์๋ RxSwift์ ํต์ฌ ๊ฐ๋ ์ ์ค๋ช ํ๊ณ , iOS ๊ฐ๋ฐ์์ RxSwift๊ฐ ์ด๋ป๊ฒ ์ ์ฉํ๊ฒ ์ฌ์ฉ๋ ์ ์๋์ง์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค.RxSwift๋?RxSwift๋ ๋น๋๊ธฐ์ ์ด๊ณ ์ด๋ฒคํธ ๊ธฐ๋ฐ์ ์ฝ๋๋ฅผ ๊ด์ฐฐ ๊ฐ๋ฅํ ์ํ์ค์ ํจ์ํ ์คํ์ผ์ ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ์ฌ ๊ตฌ์ฑํ ์ ์๊ฒ ํด์ฃผ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋๋ค. RxSwift๋ ReactiveX (Reactive Extensions) ํจ๋ฐ๋ฆฌ์ ์ผ๋ถ๋ก, ๋น๋๊ธฐ ๋ฐ์ดํฐ ์คํธ๋ฆผ์ ๋ค๋ฃจ๊ธฐ ์ํ ์ธ๊ธฐ ์๋ ํจ๋ฌ๋ค์์ ๋๋ค. ์ฃผ์ ๊ฐ๋ ObservableRxSwift์ ํต์ฌ ๋จ์์ ๋๋ค.Observable์ ์๊ฐ์ ๋ฐ๋ผ ์ด.. 2024. 6. 3. [SwiftUI] Text Text A view that displays one or more lines of read-only text ํ ์ค ์ด์์ ์ฝ๊ธฐ ์ ์ฉ text๋ฅผ ํ์ํ๋ ๋ทฐ์ ๋๋ค. Text ๋ทฐ๋ฅผ ๋ง๋ค๊ณ ๊ทธ ์์ ํ์ํ ํ ์คํธ๋ฅผ ์ง์ ํฉ๋๋ค. import SwiftUI struct ContentView: View { var body: some View { Text("Hello, SwiftUI!") } } ํ ์คํธ ์คํ์ผ ์ ์ฉํ๊ธฐ .font()๋ฅผ ์ฌ์ฉํด ํ ์คํธ์ ๊ธ๊ผด ํฌ๊ธฐ์ ์คํ์ผ์ ์ง์ ํ ์ ์์ต๋๋ค. Text("Hello, SwiftUI!") .font(.title) .title, .caption ๋ฑ ์ฌ์ ์ ์ ์๋ ํ ์คํธ ์คํ์ผ์ ์ฌ์ฉํ ์ ์์ต๋๋ค. Text("Hello, SwiftUI!") .font(.system(s.. 2024. 4. 18. [SwiftUI] Stack (VStack/HStack/ZStack) Stack ๋ทฐ๋ฅผ ์์ง ๋๋ ์ํ์ผ๋ก ์ ๋ ฌํ๋ ๋ฐ ์ฌ์ฉ๋๋ ์ปจํ ์ด๋์ ๋๋ค. Stack์ ์ฌ์ฉํด์ ์ฌ๋ฌ๊ฐ์ ๋ทฐ๋ฅผ ๊ทธ๋ฃนํํ๊ณ ๋ ์ด์์์ ๊ตฌ์ฑํ ์ ์์ต๋๋ค. VSatck ๋ทฐ๋ฅผ ์์ง์ผ๋ก ์๋ ์คํ์ ๋๋ค. ์ ์ธ๋ ์์๋๋ก ๋ทฐ๋ค์ ์์์ ์๋๋ก ์์ด๊ฒ ๋ฉ๋๋ค. import SwiftUI struct ContentView: View { var body: some View { VStack { Text("First View") Text("Second View") Text("Third View") } } } Alignment VStack์์ alignment ๋งค๊ฐ๋ณ์๋ฅผ ํตํด ํ์ ๋ทฐ์ ์ ๋ ฌ ๋ฐฉ๋ฒ์ ์ง์ ํ ์ ์์ต๋๋ค. .leading์ ์ ํํ๋ฉด ์ผ์ชฝ์ ๊ธฐ์ค์ผ๋ก, .trailing์ ์ ํํ๋ฉด ์ค๋ฅธ์ชฝ์ ๊ธฐ์ค์ผ๋ก, .cente.. 2024. 4. 8. ์ด์ 1 ยทยทยท 12 13 14 15 16 17 18 ยทยทยท 64 ๋ค์ ๋ฐ์ํ