KVO와 willset, didset

2 답변 글타래를 보이고 있습니다
  • 글쓴이
    • zehye
      참가자
      • 글작성 : 7
      • 답글작성 : 7

      안녕하세요!

      혼자서 이것저것 알아보다가 KVO라는 개념에 대해서 알게되었는데요.
      KVO가 결국 특정 키가 변화되었을때 이 변화를 감지하기 위한 기능인것으로 이해했는데
      swift 문법에는 willset과 didset 이 비슷한 역할을 한다고 생각해서요

      이 둘의 차이점이 결국 KVO는 observe를 이용해서 변화를 파악한다는 점인 걸까요?

    • 야곰
      키 마스터
      • 글작성 : 37
      • 답글작성 : 579

      우리가 타입을 만드는 경우에는 자유롭게 willSet, didSet 등을 구현해줄 수 있겠지만, 다른 사람 혹은 외부 라이브러리에서 정의한 타입이라면 내부 소스를 마음대로 변경할 수 없겠죠.

       

      그럴 때는 그 타입의 프로퍼티 등의 값이 변경되는지 KVO 방식으로 변화를 관찰할 수 있겠습니다.

      즉, KVO는 상속 혹은 코드의 변경 없이 옵저빙을 할 수 있는 방법이겠다는 결론이네요 🙂

      • 멍단비
        참가자
        • 글작성 : 10
        • 답글작성 : 98

        명확하고 간결한 현답이로다. 심쿵.

    • zehye
      참가자
      • 글작성 : 7
      • 답글작성 : 7

      아! 지금까지는 단순히 observe를 쓰냐 안쓰냐의 차이로만 생각했었는데
      이런 차이가 있었군요! 감사합니다 :)!!!

2 답변 글타래를 보이고 있습니다
  • 답변은 로그인 후 가능합니다.

logo landscape small

사업자번호 : 743-81-02195
통신판매업 신고번호 : 제 2022-충북청주-1278 호
고객센터 : 카카오톡채널 @yagom