views:

207

answers:

1

So here's my issue:

I followed the NSURLConnection tutorial in the iPhone Developer Documentation almost to the T, and it only kinda works.

Here's where it all goes wrong:
The object seems to be created correctly and delegates to connectionDidFinishLoading, but with any URL I try to load the response data always ends up only being 0 bytes. I am running in the simulator if that makes any difference.

Here's my relevant code:

- (void)viewDidLoad {
    [super viewDidLoad];
    self.title = @"WVFS Player";

    //create a request
    NSURLRequest *theRequest = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://wvfs.josh-kaplan.com/nowPlaying.php"]
                                                cachePolicy:NSURLRequestUseProtocolCachePolicy
                                            timeoutInterval:60.0];
    // create a connection
    NSURLConnection *theConnection=[[NSURLConnection alloc] initWithRequest:theRequest delegate:self];

    if(theConnection) {
        // create the datum
        responseData=[[NSMutableData data] retain];
    } else {
        // code this later
    }
}

- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response
{
    [responseData setLength:0];
}

 - (void)connectionDidFinishLoading:(NSURLConnection *)connection
{
    // make it work
    NSLog(@"Succeeded! Received %d bytes of data:",[responseData length]);

    // release it
    [connection release];
    [responseData release];
}

And here's my log output:

[Session started at 2010-03-14 09:01:09 -0400.]
2010-03-14 09:01:14.784 WVFS[19571:207] Succeeded! Received 0 bytes of data:

Any ideas?

+3  A: 

You forgot to implement connection:didReceiveData:

- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data {
    [responseData appendData:data];
}
Can Berk Güder