2011-06-20 3 views
0

Моя проблема заключается в следующем: -У меня есть несколько asihttprequests и даже я не знаю, сколько, как динамическое, в программах работает. У меня есть 1 latlongarray для latitude-logitude, который поступает из webservice, поэтому я не знаю сколько широт долгот являются there.Then выполнит asihttprequest для получения расстояния от местоположения пользователя для всех объектов в latlongarray.So как я могу распознать, какой запрос закончил в методе didfinishresponse для asihttprequest: -получить ответ для конкретного 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 статическими asihttprequest, но в этом случае мне нужно что-то делать динамически. Как я могу это сделать?

и спасибо за помощь!

ответ

0

Вы можете хранить информацию в поле «USERINFO» в запросе при ее создании, которые затем можно использовать в requestDone:

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

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

request.tag = 1;

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

  • Нет связанных вопросов^_^