Ios7 在发出HTTP请求时接收两次响应

Ios7 在发出HTTP请求时接收两次响应,ios7,xcode4.5,Ios7,Xcode4.5,我正在使用POST方法对服务器进行HTTP调用 NSURL * url=[NSURL URLWithString:[NSString stringWithFormat:@"http://offers2win.com/api/v1/users?user[email]=%@&user[password]=%@&user[password_confirmation]=%@",username,password,confirmpassword]]; request =

我正在使用POST方法对服务器进行HTTP调用

 NSURL * url=[NSURL URLWithString:[NSString         stringWithFormat:@"http://offers2win.com/api/v1/users?user[email]=%@&user[password]=%@&user[password_confirmation]=%@",username,password,confirmpassword]];
request = [NSMutableURLRequest requestWithURL:url];
[request setHTTPMethod:@"POST"];
[request setValue:@"application/json" forHTTPHeaderField:@"Accept"];
[request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
connection=[[NSURLConnection alloc] initWithRequest:request delegate:self];
并将响应数据保存在字典中

 NSData *responseData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&err];
returnString  = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding];
NSDictionary *dictionary = [NSJSONSerialization JSONObjectWithData:[returnString dataUsingEncoding:NSUTF8StringEncoding] options:kNilOptions error:nil];
但是该代理被调用了两次

- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response
{
 NSLog(@"Recieved");
}

原因可能是什么?而且需要很长时间才能得到响应。

这不是错误。苹果已经在NSURLConnectionDataDelegate协议参考中说明了这一点:

在极少数情况下,例如在HTTP加载的情况下 加载数据的内容类型为multipart/x-mixed-replace,即 代表将收到多个连接:didReceiveResponse: 消息如果发生这种情况,学员应放弃所有数据 以前由connection:didReceiveData:传递,并且应该是 准备好处理报告的可能不同的MIME类型 新报告的URL响应

请点击此处: