views:

941

answers:

1

I have a hard time to find any examples for NSURLConnection delegate method implemenetations. The SeismicXML example from apple is incomplete. For instance, they don't incorporate

-connection:willSendRequest:redirectResponse:

Maybe there's a good text out there. I went already through all the Apple material regarding this.

+1  A: 

Here's an implementation I've been working with lately:

.h:
    NSMutableData *responseData;

.m:
    - (void)load {
        NSURL *myURL = [NSURL URLWithString:@""];
        NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:myURL
                                                 cachePolicy:NSURLRequestReloadIgnoringLocalCacheData
                                             timeoutInterval:60];

    [[NSURLConnection alloc] initWithRequest:request delegate:self];
}

- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response {
    responseData = [[NSMutableData alloc] init];
}

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

- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error {
    [responseData release];
    [connection release];
    [textView setString:@"Unable to fetch data"];
}

- (void)connectionDidFinishLoading:(NSURLConnection *)connection 
{
    NSLog(@"Succeeded! Received %d bytes of data",[responseData
                                                   length]);
    NSString *txt = [[[NSString alloc] initWithData:responseData encoding: NSASCIIStringEncoding] autorelease];

}
Mr-sk
thanks, but incomplete. I find none that make full use of all the delegate methods.
openfrog
Ah, sorry, yeah I'm not implementing all... curious to see the rest of the answer.
Mr-sk
The NSURLConnection in -load is leaking.
titaniumdecoy