1

NSURLConnection で問題が発生しています。didRecieveData メソッドが呼び出されていません。何が問題なのかわからない。また、以前の問題のほとんどすべてを経験しましたが、何も解決していないようです。

私を助けてください。これは私のコードです。

      -(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;
      }
4

3 に答える 3

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

そして、それらのいずれかがヒットしているかどうかを確認します。

于 2012-06-07T18:17:05.337 に答える
0

最後に、私は問題を解決しました。JSONdataresult を合成しませんでした。

これが NSURLConnection に問題を引き起こす可能性があることに気づきませんでした。

于 2012-06-08T09:58:58.517 に答える
0

私の場合、ヘッダーは接続がありませんでしたdReceiveDataが呼び出されませんでした。リクエストに必要な場合は必ず承認を追加してください。

    [urlRequest setValue:[UserContext sharedInstance].requesthandler.reqHeader forHTTPHeaderField:@"Authorization"];
于 2013-05-30T07:52:32.790 に答える