notification을 이용한 옵져버 패턴에 질문이 있습니다.

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

      안녕하세요? 초보적인 질문 하나가 있습니다

       

      viewWillApper에서 옵져버를 등록하고

      deinit 에서 옵져버를 remove 하고 있습니다.

       

      대략 이런상황입니다.

      Ex) 메인뷰컨에 tableView가 있고, 거기에 list의 정보를 표시하는 상황,

      list의 원소는 다른 뷰에서 추가가능, coreData로 저장

       

      제가 궁금한게

      notification을 전달받으면 coreData를 fetch하고 list에 저장 그리고  tableView를 reload 하도록 작성하니 당연히 잘 돌아가긴 하는데

      최초 앱 실행시에는 당연히 notification이 전달되지 않으니 메인에 제대로된 정보가 뜨지 않습니다. 

       

      이걸 제대로 동작시키기 위해 viewDidLoad나, viewWillApper에 위의 fetch, reload 초기화 코드를 구현하자니, 이런식으로 하면 중복으로 되기도 하고, 

      매번 뷰 로드시에 초기화 할바에는 옵져버도 필요 없는거 같아서요..

       

      아 쓰다보니  appDelegate  같은 곳에서 최초에 인위적으로 notification을 post하는 식으로  구현하는 방식이 생각이 났는데,

      올바른 방식일까요?

       

      답변엔 미리 감사드립니다

       

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

      노티피케이션을 받는 것과 viewWillAppear 등 필요한 타이밍에 맞게 해당 기능을 호출하는 것은 별개라고 생각해서 큰 문제가 되지 않는다고 생각합니다.

      그런데 별개의 질문인데, 노티피케이션 등록을 viewDidLoad에서 한 것이 아니라 viewWillAppear에서 한 까닭이 있나요?

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

logo landscape small

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