connectionDidFinishLoading没有被调用,为什么?

时间:2013-04-17 17:57:49

标签: ios objective-c request nsurlconnection send

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

非常感谢你的时间

1 个答案:

答案 0 :(得分:2)

尝试实现- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response并检查响应对象中返回的值。