получить ответ для конкретного asihttprequest - PullRequest
0 голосов
/ 20 июня 2011

Моя проблема заключается в следующем: -У меня есть несколько asihttprequests, и даже я не знаю, сколько, как динамический, при запуске программы, у меня есть 1 latlongarray для широты-logitude, которая исходит от веб-службы, поэтому я не знаю, сколько широт долготы Затем я выполню asihttprequest для получения расстояния от местоположения пользователя до всех объектов в latlongarray. Так, как я могу узнать, какой запрос завершен в методе didfinishresponse для asihttprequest: -

   for(int i=0,i<[latlongarray count],i++)
   if (![self queue]) {
      [self setQueue:[[[NSOperationQueue alloc] init] autorelease]];
   }


   NSURL *url = [NSURL URLWithString:@"url for getting distance"];
   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
{
   //I NEED TO DO SOMTHING HERE.
}

Я уже получаю дистанцию ​​с 5 или 6 статическими запросами, но в этом случае мне нужно что-то делать динамически. Как я могу это сделать?

и спасибо за любую помощь!

Ответы [ 2 ]

0 голосов
/ 10 октября 2012

Вы можете присвоить tag запросу, используя целочисленное значение.в requestDone вы можете вернуть значение.

request.tag = 1;

0 голосов
/ 20 июня 2011

Вы можете сохранить информацию в поле 'userInfo' в запросе при его создании, который затем можно использовать в requestDone:

request.userInfo = [[NSMutableDictionary alloc] initWithObjectsAndKeys:@"value", @"key", nil];
...