일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- arc
- GCD
- ios
- xcode
- ios database
- swift db
- Tuist
- realm
- JSON
- Tuist Swift
- swift database
- Firebase
- Firebase Analytics
- 카카오뱅크 ios
- swift
- SeSAC
- uitableviewdiffabledatasource
- swift 6
- ribs
- swift 5.9
- RxSwift
- SwiftUI
- 네트워크 통신
- observable
- Combine
- KeyPath
- Subject
- Swift Tuist
- Subscribe
- combinecocoa
- Today
- Total
목록SwiftUI (3)
천원의 개발

안녕하세요. 천원입니다. Combine을 학습하면서 중요한 개념 중 하나인 Subject 정리하고자 글을 작성합니다. 1. Subject Publisher를 채택하고 있는 모습입니다. 덕분에 스트림을 생성할 수 있고, Subscriber를 통해서 방출한 이벤트를 받아올 수 있습니다. 다른 Publisher 들과 가장 큰 차이점은 send() 메서드를 사용해서 외부에서 이벤트를 주입시킬 수 있다는 점입니다. 예시 코드를 보자면 var subject = PassthroughSubject() // Subject 생성 subject.sink { value in print(value) } subject.send(2) // 2출력 원하는 시점에서 이벤트 방출이 가능하죠. 2. PassthroughSubject, C..

기존에 codebase로 UI를 작성하다 보면 빌드를 해야 확인할 수 있어서 번거로울 때가 종종있습니다. 그래서 SwiftUI의 PreviewProvider를 활용해서 보면서 작업이 가능하도록 해보겠습니다. 1. ViewController Extension UIViewControllerRepresentable를 사용해서 뷰컨을 SwiftUI에서 사용이 가능하도록 Extension 해줍니다 import UIKit import SwiftUI extension UIViewController { private struct Preview: UIViewControllerRepresentable { let vc: UIViewController func makeUIViewController(context: Contex..
오늘은 ObservableObject 를 공부해 보았다 https://developer.apple.com/documentation/combine/observableobject/ Apple Developer Documentation developer.apple.com class Manager: ObservableObject { // 프로토콜 채택 @Published var hello : String = "" // 변경을 감지할 변수 앞에 @Published 붙여준다 DispatchQueue.main.async { // main스레드 에서 동작하도로 해준다 self.hello = "Hello" } } struct ContentView: View { @ObservedObject var manager = Man..