ASSIHTTP Запрос для аннотаций и наложений - Просмотр карты iOS

Представьте, что вы получаете дату с разных двух URL-адресов, один для наложения карты, другой для аннотации, как вы можете видеть ниже. Есть два метода (plotAnnotations и plotOverlays), которые заботятся о данных JSON и наносят их на представление карты. Я просто хочу убедиться, есть ли другой способ сделать? Как проверить / узнать, появляются ли аннотации и оверлеи одновременно? Буду рад услышать любые отзывы или комментарии. Заранее спасибо.

_weak ASIHTTPRequest *request1 = [ASIHTTPRequest requestWithURL:url1];
[request1 setCompletionBlock:^{
    NSString *responseString = [request1 responseString];
    [self plotAnnotations:responseString];

}];
[request1 setFailedBlock:^{
    NSError *error=[request1 error];
    NSLog(@"Error: %@", error.localizedDescription);
}];
[request1 startAsynchronous];

 __weak ASIHTTPRequest *request2 = [ASIHTTPRequest requestWithURL:url2];
[request2 setCompletionBlock:^{
    NSString *responseString2 = [request2 responseString];
    [self plotOverlays:responseString2];
}];
[request2 setFailedBlock:^{
    NSError *error=[request2 error];
    NSLog(@"Error: %@", error.localizedDescription);
}]; 

   [request2 startAsynchronous];

1 ответ

Решение

Вы должны взглянуть на GCD (Grand Central Dispatch). GCD документы. Создайте группу рассылки, содержащую ваши запросы, и вы можете использовать ее для обработки как ваших аннотаций, так и оверлеев, когда они оба закончили загрузку - при условии, что это именно то, что вы хотите сделать, это не совсем понятно, но это то, что ваш комментарий кажется подразумевают.

Другие вопросы по тегам