connectionDidFinishLoading

connectionDidFinishLoading

我发送请求,但是不调用方法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/

10-09 12:27