NSURL Connection будет загружать / не загружать данные - PullRequest
0 голосов
/ 14 марта 2010

Итак, вот моя проблема:

Я следовал учебному пособию NSURLConnection в документации для разработчиков iPhone почти до T, и это только отчасти работает.

Вот где все идет не так:
Кажется, что объект создан правильно и делегируется для connectionDidFinishLoading, но с любым URL, который я пытаюсь загрузить, данные ответа всегда заканчиваются только 0 байтами. Я бегу на симуляторе, если это что-то меняет.

Вот мой соответствующий код:

- (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];
}

А вот мой вывод журнала:

[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:

Есть идеи?

1 Ответ

4 голосов
/ 14 марта 2010

Вы забыли реализовать connection:didReceiveData:

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