Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- DevelopmentRegion
- Android
- 기존 앱
- 개발자 면접
- List
- UIViewControllerTransitioningDelegate
- url 추적
- transformation.map
- 스크롤 탭
- UIPresentationController
- convert base64
- Swift Package Manager
- development language
- scrolling tab
- Tuist
- ios
- base64 변환
- 상단 탭바
- url 관찰
- swift
- pod install
- SwiftUI
- Side Menu
- swift #swift keychain #keychain 사용법
- DataBinding
- detect url
- notifychanged
- GeometryReader
- oberve url
- ViewBuilder
Archives
- Today
- Total
버그 잡이
RxSwift - tap으로 addTarget을 대체해보자. 본문
Swift에서 버튼 클릭시 동작을 설정하려면
addTarget을 통해서 함수를 연결하거나
오토레이아웃을 쓸 경우 @IBAction으로 연결할 수 있습니다.
//addTarger을 활용한 방법
printLogBtn.addTarget(self, action: #seletor(printLog()), forControlEvents: .TouchUpInside)
@objc func printLog() {
print("clicked!")
}
//IBAction을 활용한 방법
@IBAction func printLog(btn: UIButton) {
println("clicked!")
}
RxSwift를 통해서도 UIEvent를 받을 수 있습니다.
let disposeBag = DisposeBag()
button.rx.tap
.bind {
print("clicked")
}
.disposed(by: disposeBag)
button에 tap 이벤트가 발생할 때마다 bind 블록이 실행됩니다.
사실 코드량을 크게 줄여주는 부분은 아니라서 rx를 굳이 사용할 필요는 없지만
그래도 보다 깔끔한 코드를 짜고 싶다면 한번 사용해보는 것도 좋을 것 같습니다.
반응형
'RxSwift' 카테고리의 다른 글
RxSwift - bind() 말고 drive()를 써보는건 어때요? (2) | 2020.11.29 |
---|---|
RxSwift - subscribe시 onNext를 명시해줘야 하는 이유 (0) | 2020.10.26 |
RxSwift - Dispose & DisposeBag (0) | 2020.10.01 |
RxSwift로 tableView 구현하기 (0) | 2020.09.20 |
RxSwift - 버튼 활성화 상태 제어하기 #CombineLatest #Binding (0) | 2020.09.16 |
Comments