Iphone ASIHTTP setDidFinishSelector проблема - PullRequest
0 голосов
/ 01 февраля 2011

У меня есть следующий код:

  - (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 из несовместимого типа pointe"

Работает нормально, но я не знаю, что делаю не так.

Спасибо

1 Ответ

2 голосов
/ 01 февраля 2011

Вы должны передать @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];
}
...