티스토리 뷰
반응형
안녕하세요 :) Zedd입니다.
오늘은 onReceive(_:perform:)에 대해서 공부해보겠습니다!
onReceive(_:perform:)
정의 : view에서 지정된 publisher가 emit한 데이터를 감지할 때 수행할 작업을 추가.
정의는 이렇게 생겼는데,
publisher는 말 그대로 그냥 구독할 publisher고
action은 publisher가 이벤트를 생성할 때 수행할 작업이에요.
그럼 써봅시다!
그냥 onReceive의 publisher자리에는 Publisher만 들어가면 어떻게는 쓸 수 있습니다.
그냥 가장 쉬운 예제를 들고왔어요.
내가 어떤 publisher의 이벤트에 따라 뭔가를 해주고싶다면,
위처럼 publisher를 만들고 onReceive에 넣어주면 됩니다.
사실 위 코드는
Button(self.text) {
self.text = "\(Array(1...10).randomElement()!)"
}
그냥 이런식으로 해도 되지만;;;
onReceive(_:perform:)를 보여주기 위한 예제로만 봐주세요.
struct ContentView: View {
@State var currentDate = Date()
let timer = Timer.publish(every: 1, on: .main, in: .common).autoconnect()
var body: some View {
Text("\(currentDate)")
.onReceive(timer) { input in
self.currentDate = input
}
}
}
좋은 것 같아요.
반응형
'SwiftUI' 카테고리의 다른 글
SwiftUI ) Form / Group / GroupBox / Section (0) | 2020.12.05 |
---|---|
SwiftUI ) onChange(of:perform:) (0) | 2020.10.23 |
SwiftUI ) Button을 View의 일부로 넣었는데 View를 탭할때마다 Button의 Action이 불린다면 (4) | 2020.09.06 |
SwiftUI ) List Style종류 (0) | 2020.09.06 |
SwiftUI ) 왕초보를 위한 Github으로 로그인 하기 (0) | 2020.09.01 |
TAG
- Combine
- 스위프트 문법
- Git
- swift array
- actor
- SwiftUI
- WidgetKit
- swift3
- fastlane
- np-complete
- swift sort
- 피아노
- iOS delegate
- Xcode
- FLUTTER
- Accessibility
- github
- ios 13
- 스위프트
- WKWebView
- swift 공부
- np-hard
- swift tutorial
- IOS
- Swift
- WWDC
- swift delegate
- 제이슨 파싱
- 회고
- UIBezierPath
글 보관함
반응형
- Total
- Today
- Yesterday