2012-04-11 3 views
0

현재 내 인터넷이 내 응용 프로그램에서 활성 또는 비활성인지 확인하려면 following thread입니다. 그러나 응답을 제공하는 데 시간이 걸리므로 UI가 정지됩니다.도달 가능성 응용 프로그램이 응답을 멈 춥니 다

NSOperation과 같은 UI를 고정시키지 않고 구현할 수있는 방법이 있습니다.

+0

코드를 게시해야합니다. 아무도 답변을 드릴 수 없습니다. 도달 가능성은 잘 작동하지만 잘못한 것이 틀림 없습니다. –

답변

0

인터넷이 실제로 중단되면 시간이 오래 걸립니다. Apple의 API의 한계입니다. 우리는 30 초 정도 후에 작업을 취소하기 위해 함께 살거 나 타이머를 두어야합니다. 그러나 특히 GPRS를 통한 진정한 응답이 30 초 이상 걸리면 타이머 조건을 넣으면 취소 할 것입니다.

0

또는 인터넷 상태를 비동기식으로 확인하고 주 스레드에서 ActivityIndicator 또는 유사한 것을 표시 할 수 있습니다. 즉, 메인 스레드와 병렬로 실행될 새 스레드를 생성합니다 (사용자의 경우 GUI가 멈춤).

+0

예제/샘플 자습서가 있습니까? – user1227928

+0

http://www.fieryrobot.com/blog/2010/06/12/threading-is-dead-long-live-threading/에서 dispatch_async를 사용하는 방법을 설명합니다. 다른 스레드의 코드. Reachability를 약간 tweek해야 할 수도 있습니다 (예 : 결과가 준비되면 NSNotificationCenter에 알림을 게시). –

관련 문제