0

サーバーへの NSURLConnection を作成していますが、最終的にresponseDatanull にconnectionDidFinishLoadingなり、その理由がわかりません。接続のコードは次のとおりです。

NSMutableData *responseData;

- (void)myFunction:(id)sender {

  NSString *url = @"http://www.example.com/";

  NSURL *URL = [NSURL URLWithString:url];

  NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:URL cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:30.0];

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

  [connection start];
}


// NSURLConnection Delegates
- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response {
  [responseData setLength:0];
}


- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data {
  [responseData appendData:data];
}


- (void)connectionDidFinishLoading:(NSURLConnection *)connection {

} // end connectionDidFinishLoading

- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error {
  NSLog(@"Connection error: %@",[error description]);
}
4

2 に答える 2

3

responseData が初期化されていません:)

于 2013-02-04T21:20:24.320 に答える
1

典型的!質問を投稿し終えたとき、答えが浮かびました。初期化したことはありませんresponseData。だからviewDidLoad私は以下の行を追加しました:

- (void)viewDidLoad
{

  [super viewDidLoad];

  responseData = [NSMutableData data];

}
于 2013-02-04T21:17:41.543 に答える