我发送请求,但是不调用方法connectionDidFinishLoading,为什么?
- (void)startHttpRequestWithCookie:(NSArray *)authCookies
{
NSURL *url = [NSURL URLWithString:@"http://test.test/mbox.php"];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:60.0];
NSDictionary* headers = [NSHTTPCookie requestHeaderFieldsWithCookies:authCookies];
[request setHTTPShouldHandleCookies:NO];
[request setHTTPMethod:@"POST"];
[request setValue:@"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" forHTTPHeaderField:@"Accept"];
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
[request setAllHTTPHeaderFields:headers];
NSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:request delegate:self];
if (connection) {
// Create the NSMutableData to hold the received data.
responseData = [NSMutableData new];
} else {
// Inform the user that the connection failed.
}
}
- (void) connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response {
[responseData setLength:0];
}
- (void) connection:(NSURLConnection *)connection didReceiveData:(NSData *)data {
[responseData appendData:data];
}
- (void) connectionDidFinishLoading:(NSURLConnection *)connection {
NSString* responseString = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding];
NSLog(@"%@", responseString);
NSError *error = nil;
NSData* data = [responseString dataUsingEncoding:NSUTF8StringEncoding];
etc..
}
这是我的代码,我不明白为什么不叫做connectionDidFinishLoading
非常感谢您的宝贵时间
最佳答案
尝试实现- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response
并检查响应对象中返回的值。
关于ios - 没有调用connectionDidFinishLoading,为什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16066908/