2011-02-01 3 views
0

У меня есть следующий код:Iphone ASIHTTP setDidFinishSelector вопрос

- (void)imageDownloaded:(ASIHTTPRequest *) request idDisco:(NSNumber *)iddisco 
    NSLog(@"%d",[idPlace intValue]); 
    } 

И

NSURL *url = [NSURL URLWithString:[item objectForKey:@"image"]]; 
    ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url]; 
    [request setDelegate:self]; 
    [request setDidFinishSelector:[self performSelector:@selector(imageDownloaded:idDisco:)withObject:request withObject:disco.id_disco]]; 

Но компилятор говорит мне, что "передавая аргумент 1 из setDidFinishSelector от несовместимого типа пуантов"

It отлично работает, но я не знаю, что я делаю неправильно.

Благодаря

ответ

2

Вы должны пройти @selector (SomeMethod :) там: И подпись метода должен быть

- (void)methodName:(ASIHTTPRequest *)request; 

Посмотрите на этот пример:

- (IBAction)grabURLInTheBackground:(id)sender 
{ 
    if (![self queue]) { 
     [self setQueue:[[[NSOperationQueue alloc] init] autorelease]]; 
    } 

    NSURL *url = [NSURL URLWithString:@"http://allseeing-i.com"]; 
    ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url]; 
    [request setDelegate:self]; 
    [request setDidFinishSelector:@selector(requestDone:)]; 
    [request setDidFailSelector:@selector(requestWentWrong:)]; 
    [[self queue] addOperation:request]; //queue is an NSOperationQueue 
} 

- (void)requestDone:(ASIHTTPRequest *)request 
{ 
    NSString *response = [request responseString]; 
} 

- (void)requestWentWrong:(ASIHTTPRequest *)request 
{ 
    NSError *error = [request error]; 
} 
+0

жаль я отредактируйте мой вопрос, потому что мне нужен селектор с двумя аргументами – xger86x

+0

да, но мне нужно передать idPlace, чтобы сохранить изображение ... – xger86x

+0

Знак ure ожидаемого метода не настраивается (если вы не изменяете ASIHTTPRequest.m), поэтому вам придется хранить идентификатор изображения где-то в другом месте. – nacho4d

Смежные вопросы