2011-09-06 2 views
0

Iphone 앱 시작시 서버에서 일부 데이터를 수신하기 위해 백그라운드 스레드를 시작합니다. 사용자가 다른보기를 통해 탐색 할 수 있습니다. 사용자의 현재보기에 관계없이 서버의 응답이있을 때 경고를 표시해야합니다. 어떻게 할 수 있니? 데이터 수신에 대한 모든 의견을 알려야한다고 생각하십니까? 조언을 바랍니다 ....iphone SDK의 서버 응답 수신시 알림 상자 표시

감사

Rizwan

답변

0

connectionDidFinishLoading 위임 방법에 경고보기를 추가 아래로 충분하다

- (void)connectionDidFinishLoading:(NSURLConnection *)connection { 
     UIAlertView *alertBox=[[UIAlertView alloc]initWithTitle:@"Got response" message:@"Loading completed." delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil]; 
[alertBox show]; 
[alertBox release]; 
} 

alertview가 정상에 올로 (로컬 통지처럼 작동).

하지만 웹 서비스 호출을 한 클래스의 인스턴스와 NSUrlConnection 객체는 연결이 완료 될 때까지 유지되어야합니다. (해제 또는 할당 해제되지 않음)

+0

감사합니다. – Rizwan

0

아니, 당신의 배경 스레드가 데이터를 수신 할 때 호출됩니다 connectionDidReceiveResponse 또는 뭔가 다른 같은 방법이있을 것이다. 해당 방법에이 경고를 표시하면 데이터를 수신하자마자 나타납니다.

0

당신이해야 할 일이 마음에 들었습니다. appDelegate.

0

경고보기는보기 계층 구조에 관계없이 다른보기의 맨 위에 표시됩니다. 따라서 기본적으로 응답을 처리하고 모든보기 상단에 표시 될 uialertview를 표시해야합니다. 이에 따라 경고보기에서 작업을 처리하십시오. 이 메시지를 얻으려면 모든 뷰가 필요하지 않습니다. 애플리케이션의 수명 내내 지속적으로 유지되는 메인 뷰 컨트롤러/객체 만 있으면 충분합니다.