2011-03-23 3 views
0

NSXMLParser의 init 메서드는 initWithData : (NSData * data)입니다. 나는이 같은을 NSData, IP 주소에 도달 할 수없는 경우NSData를 사용할 때 어떻게 연결 문제를 처리 할 수 ​​있습니까?

NSURL *url = [NSURL URLWithString:@"http://221.34.21.9"]; 
NSData *date = [[NSData alloc] initWithContentsOfURL:url]; 

을 초기화하기 때 는 내 응용 프로그램은 영원히 그 주소의 응답을 기다립니다.

이 문제를 어떻게 해결할 수 있습니까?

감사합니다.

답변

2

NSURLConnection을 통해 데이터를 가져와야하며, 이는 URL Loading System Programming Guide에 설명 된대로 시간 초과 값을 갖습니다. 이것은 당신에게 힌트를 주어야한다; 가이드는보다 완전한 예제 코드가 있습니다

// Create an NSURLRequest object with your desired URL and timeout value 
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://221.34.21.9"] 
          cachePolicy:NSURLRequestUseProtocolCachePolicy 
         timeoutInterval:15.0]; 
// Begin a connection using that request 
// Assign a delegate object that will get callbacks when things happen 
NSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:request delegate:self]; 

위임 방법은 NSURLConnection Class Reference에 설명되어 있습니다 당신은 매우 아마 connection:didRecieveDataconnection:didFailWithError:

+0

감사에서 가장 관심이 있습니다. 그것은 많은 도움이됩니다! – Jerry

0

Apple Reaceability example에서 인터넷 연결 가능성을 구현해야합니다. 인터넷 연결이 가능한지 여부를 알 수있는 테스트입니다.

관련 문제