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 |
Tags
- UIViewControllerTransitioningDelegate
- scrolling tab
- swift #swift keychain #keychain 사용법
- 기존 앱
- ios
- SwiftUI
- swift
- 스크롤 탭
- Side Menu
- notifychanged
- convert base64
- GeometryReader
- 상단 탭바
- detect url
- DataBinding
- oberve url
- Tuist
- development language
- List
- 개발자 면접
- url 추적
- base64 변환
- url 관찰
- UIPresentationController
- Swift Package Manager
- ViewBuilder
- Android
- transformation.map
- DevelopmentRegion
- pod install
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