Skip to content
Wooseong Kim edited this page Dec 23, 2015 · 1 revision

React Stream의 종류

  • KVO.stream

    값의 변경이 일어날 경우 invoke되는 stream

  • KVO.startingStream

    처음 init과 동시에 invoke가 한 번 일어나며 이후에는 stream과 동일

  • KVO.detailedStream

    Array의 변경을 옵저빙하는 stream으로써 추가, 삭제, 교체, 설정 등이 일어날 경우 invoke.

    프로그래머가 원하는 동작(ex: element 추가만 옵저빙)을 설정 가능

Observer deinit 관련

Observer 사용할 때 owner를 전달하게 되는데, 기본적인 상황에서는 owner가 deinit될 때

Observer가 만든 React stream이 자동으로 끊어지게 구현이 되어 있는데, 이 구현을

protocol extension에서 하면서 owner로 self(ex:UIViewController)를 전달한 경우

deinit이 불릴 지 확신을 할 수 없어 테스트를 진행.

받은 사진 디테일에서 좋아요를 누른 후 받은 사진 콜렉션에서 디버그 버튼으로 .Delivered 상태로 다시 바꾸어준 경우

Observer의 stream이 제대로 닫혔음을 확인하는 테스트를 진행해서 제대로 닫힘을 확인.

Clone this wiki locally