Search

Cancellable 이란?

Cancellable

말 그대로 취소가 가능함을 나타내는 프로토콜

AnyCancellable

Subscription 이 리턴하는 인스턴스의 타입.
구독 취소를 위한 손잡이라고 보면된다.
AnyCanacellable 타입은 Cancellable 프로토콜을 준수함.
cancel() 메서드 사용 가능
정확히 말하면, AnyCancellable 타입은 Subscription 프로토콜을 준수하고, Subscription 프로토콜은 Cancellable 프로토콜을 상속받음.
구독을 취소해주지 않으면??
Publisher 가 completion 이벤트를 발행하기 전까지 구독이 유지되며, 메모리를 잡아먹음.
단, 저장된 subscription 이 deinit 되는 경우에는 자동으로 구독을 취소함.
subscription 이 저장된 scope 를 벗어날 때.
subscription 을 저장해주지 않으면!!
subscription 이 생성된 맥락을 벗어나게 되면 자동으로 구독을 취소하게 되니 주의하자!!