• 카테고리

    질문 & 답변
  • 세부 분야

    모바일 앱 개발

  • 해결 여부

    미해결

네트워크 연결 여부에 따라 팝업을 호출하는 기능 구현 방법 문의 드립니다

20.02.19 23:48 작성 조회수 287

0

FirebaseDB 데이터를 가져와서 테이블뷰로 화면에 기능을 구현중인 초보 개발자입니다.

NWPathmornitor로 네트워크 연결 여부를 감지해서, 연결된 네트워크가 없으면, 

강의 내용처럼 화면 뒤 뷰가 보이게 에러 팝업창을 보여주는데까지는 구현을 했는데요. 

현재 2가지 문제점이 있어 해결 방법을 여쭙고 싶습니다. 

case1) 네트워크가 연결되도 데이터를 불러오지 못하고 테이블뷰가 빈상태로 노출 

case2) 네트워크 연결된 상태로 앱을 잘 쓰다가 네트워크를 끄면, 에러팝업창은 정상 노출되지만 이후 몇초 뒤에 앱 크래시 발생 

(case2는 firebase 데이터를 받아오는 함수의 호출 시점으로 해결 가능할 것 같은데 어느 시점에 함수를 호출 해야할까요)

viewWillAppear내에서 계속해서 네트워크 연결 여부를 감지하면 될줄 알았는데 막혀서 여쭤봅니다 

stackoverflow에는 찾아봐도 오래된 자료들만 나오네요 ...  답변 주시면 감사하겠습니다 ㅠㅠ

혹시 이메일이나 다른 방법으로 더 자세하게 질문드려도 괜찮다면 말씀 부탁 드립니다. 

사진과 동영상 추가해서 전달 드리겠습니다.

[네트워크 에러 팝업뷰]

[네트워크 연결 탐지 함수]

[정상적인 경우 메인화면, 네트워크 미연결 상태에서 에러팝업을 닫았을때 메인화면] 

답변 1

답변을 작성해보세요.

0

안녕하세요

테이블뷰가 빈상태로 노출

-> 네트워크가 호출중 끊어진 상황이면 timeout이나 error등의 상태로 네트워크 커넥션은 종료된 상황입니다.

그러므로 네트워크가 다시 연결된다고 해서 특정로직이 저절로 작동되지 않습니다.

네트워크 호출이 fail됐을 때 그 fail된 호출정보를 담고있는 걸 만들어서 네트워크가 다시 연결 되면 호출하게 만들수는 있습니다.

크래쉬 나는상황

-> 이런건 보통 로그를 봐야 확인이 가능합니다.