Combine 버튼 클릭 감지
Combine 버튼 클릭 감지
Combine 공부중 버튼 클릭 이벤트 처리 코드 정리
🍭 전체 코드
1
2
3
4
5
6
7
8
9
10
let subscriptions = Set<AnyCancellable>()
let navToNumberBtn = UIButton()
navToNumbersBtn
.tapPublisher
.sink(receiveValue: {
print(#fileID, #function, #line)
})
.store(in: &subscriptions)
- tagPublisher : 버튼 클릭 이벤트를 퍼블리셔로 변환
- .sink(receiveValue: ) : Publisher가 방출하는 값을 받아서 실행.
- .store(in: &subscriptions) :
- subscriptions 배열에 구독을 저장.
- 자동으로 메모리에서 해제되지 않도록 관리함.
- Combine의
sink
,assign
같은 구독은 기본적으로 일회성 이므로, 별도로 저장하지 않으면 자동으로 취소됨.
퍼블리셔란
- Combine에서 데이터를 스트림 형태로 방출하는 객체이다.
This post is licensed under CC BY 4.0 by the author.