Функция делегата не вызывается в модели запроса URL-адреса Three20 - PullRequest
0 голосов
/ 13 мая 2010

В одном из моих проектов я хочу использовать TTURLRequestModel для заполнения данных ответа в формате XML, передав TTURLXMLResponse запросу. Однако метод делегата никогда не вызывается. Может кто-нибудь сказать мне, что мне не хватает в этих двух файлах? Нужно ли инициализировать некоторые другие элементы библиотеки?

Three20Parser.h

@interface Three20Parser : TTURLRequestModel{

}

- (void) download;

@end

Three20Parser.m

#import "Three20Parser.h"
#import "extThree20XML/extThree20XML.h"

@implementation Three20Parser

- (id)init{
    self = [super init];
    return self;
}

- (void) download{
    NSString *requestURL = @"http://server.local/service.asmx";
    NSLog(@"requestURL: %@", requestURL);

    TTURLRequest *request = [TTURLRequest requestWithURL:requestURL delegate:self];
    request.cacheExpirationAge = TT_CACHE_EXPIRATION_AGE_NEVER;
    request.cachePolicy = TTURLRequestCachePolicyNone;

    TTURLXMLResponse *response = [[TTURLXMLResponse alloc] init];
    request.response = response;
    TT_RELEASE_SAFELY(response);

    [request send];
}

     /*
 the requestDidFinishLoad is not called.
 */

- (void)requestDidFinishLoad:(TTURLRequest *)request{
    //TTURLXMLResponse *response = request.response;
    //NSLog(@"response: %@", [[NSString alloc] initWithData:response.data encoding:NSUTF8StringEncoding]);

    NSLog(@"REQUEST DID FINISH", nil);
}

1 Ответ

1 голос
/ 27 мая 2010

Возможно, запрос не удался? Вы реализуете только метод успеха протокола - действительно ли request: didFailLoadWithError: вызывается вместо?

Я бы реализовал каждый возможный метод только для отладки, чтобы увидеть, что происходит. Затем, когда у вас все заработало, удалите ненужные.

Тем не менее, вы всегда должны проверять наличие ошибок - вам, возможно, придется сообщить пользователю, что Apple не удалось запустить приложение в магазине приложений! Даже если вам не нужно сообщать пользователю, вы, вероятно, должны что-то с этим сделать!

...