Written on
·
406
0
FirebaseDB 데이터를 가져와서 테이블뷰로 화면에 기능을 구현중인 초보 개발자입니다.
NWPathmornitor로 네트워크 연결 여부를 감지해서, 연결된 네트워크가 없으면,
강의 내용처럼 화면 뒤 뷰가 보이게 에러 팝업창을 보여주는데까지는 구현을 했는데요.
현재 2가지 문제점이 있어 해결 방법을 여쭙고 싶습니다.
case1) 네트워크가 연결되도 데이터를 불러오지 못하고 테이블뷰가 빈상태로 노출
case2) 네트워크 연결된 상태로 앱을 잘 쓰다가 네트워크를 끄면, 에러팝업창은 정상 노출되지만 이후 몇초 뒤에 앱 크래시 발생
(case2는 firebase 데이터를 받아오는 함수의 호출 시점으로 해결 가능할 것 같은데 어느 시점에 함수를 호출 해야할까요)
viewWillAppear내에서 계속해서 네트워크 연결 여부를 감지하면 될줄 알았는데 막혀서 여쭤봅니다
stackoverflow에는 찾아봐도 오래된 자료들만 나오네요 ... 답변 주시면 감사하겠습니다 ㅠㅠ
혹시 이메일이나 다른 방법으로 더 자세하게 질문드려도 괜찮다면 말씀 부탁 드립니다.
사진과 동영상 추가해서 전달 드리겠습니다.
[네트워크 에러 팝업뷰]
[네트워크 연결 탐지 함수]
[정상적인 경우 메인화면, 네트워크 미연결 상태에서 에러팝업을 닫았을때 메인화면]
Answer 1
0
안녕하세요
테이블뷰가 빈상태로 노출
-> 네트워크가 호출중 끊어진 상황이면 timeout이나 error등의 상태로 네트워크 커넥션은 종료된 상황입니다.
그러므로 네트워크가 다시 연결된다고 해서 특정로직이 저절로 작동되지 않습니다.
네트워크 호출이 fail됐을 때 그 fail된 호출정보를 담고있는 걸 만들어서 네트워크가 다시 연결 되면 호출하게 만들수는 있습니다.
크래쉬 나는상황
-> 이런건 보통 로그를 봐야 확인이 가능합니다.