2012-06-07 4 views
1

NSURLConnection에 문제가 있습니다. 내 didRecieveData 메서드가 호출되지 않습니다. 나는 그 문제가 뭔지 모른다. 나도 이전의 거의 모든 문제를 겪었지만 아무 것도 해결되지 않는 것 같습니다.연결 : didReceiveData가 호출되지 않았습니다.

도와주세요. 이것은 내 코드입니다.

 -(void)gettheJSONdata 
    { 
      NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:_serverAddress cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:10]; 

      [request setHTTPMethod: @"GET"]; 

      NSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:request delegate:self startImmediately:YES]; 

      NSLog(@"This is displayed"); 
    } 

    -(void)connection:(NSURLConnection*)connection didReceiveData:(NSData *)data 
    { 
      NSLog(@"This is not displayed."); 
      AppAppDelegate *JSONdata = (AppAppDelegate*)[[UIApplication sharedApplication] delegate]; 

      JSONdata.userloginJSONdata = [[NSData alloc] initWithData:data]; 

      NSError *error; 

      _result = [NSJSONSerialization JSONObjectWithData:JSONdata.userloginJSONdata options:NSJSONReadingMutableContainers error: &error]; 

      NSString *test = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; 
      NSLog(@"Json data : %@",test); 
    } 

    -(void) connectionDidFinishLoading:(NSURLConnection*) connection 
    { 
      AppAppDelegate *resultofJSONdata = (AppAppDelegate*)[[UIApplication sharedApplication] delegate]; 

      resultofJSONdata.JSONdataresult = _result; 
     } 
+0

당신이'NSURLConnectionDelegate' 프로토콜을 추가 했 없었다? –

+0

넵 ... @interface 백본 : NSObject 이렇게하면 ... – khushalbokadey

+0

헤더 파일의 프로토콜은 아무런 영향을주지 않습니다. 진짜 질문은 NSURLConnection 세트의 대표자가 설정 되었습니까? 내가 그 연결을 추측 한 이후로 가정하고있어 .DidFinishedLoading : 맞았 지? – Christian

답변

0

마지막으로 문제를 해결했습니다. JSON 데이터 결과를 종합하지 못했습니다.

NSURLConnection에 문제가 발생할 수 있음을 알지 못했습니다. 내 경우 헤더에

0

요청을 시작하지 않았습니다. 당신이 필요합니다

[connection start]; 

또는

NSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:request delegate:self startImmediately:YES]; 

편집 : 내 의견은 아래의 잘못된 메서드 이름을 가지고 있었다.

- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response 

- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error 

을 그리고 그 중 하나가 박히는 경우 참조 : 모두를 실행하십시오.

+0

이것은 또한 문제가 아니었다 ... 시도했지만 같은 결과. – khushalbokadey

+1

코드가 확실히 문제가되기 때문에 새 코드로 게시물을 업데이트하십시오. 또한 connectionDidStart : delegate 메소드를 구현하고 해당 메소드가 충돌했는지 확인하십시오. 귀하의 요청이 실패 할 수 있기 때문에 귀하가 게시 한 방법 중 하나에 부딪치지 않습니다. – Christian

+0

connectionDidStart와 같은 메서드가 있습니까? ??? 본 적이 없습니다. 구문을 보내 주시겠습니까 .. – khushalbokadey

0

는 didReceiveData, 그것은 요청에 필요한 경우 승인을 추가해야합니다라고 가져 오지 않음 연결, 당신은 파일 헤더에

[urlRequest setValue:[UserContext sharedInstance].requesthandler.reqHeader forHTTPHeaderField:@"Authorization"]; 
관련 문제