В настоящее время я выполняю синхронный сетевой запрос на загрузку моего приложения, что является не лучшим способом, поскольку он блокирует пользовательский интерфейс.Я также использую ASIHTTPRequest.Я понимаю, что могу просто изменить строку с синхронной на асинхронную, но я думаю, что мне нужно настроить блок так, чтобы я мог инициировать перезагрузку таблицы после завершения асинхронности.
Первоначальный ViewController моего приложения:
- (void)fetchAppointmentsForVisibleDate {
self.appointmentArray = [DrChronoDataSource getTodayData:self.visibleDate];
NSMutableArray *array = [NSMutableArray arrayWithCapacity:50];
for (NSDictionary *appointment in self.appointmentArray)
{
[array addObject: [NSString stringWithFormat:@"%@: %@", [appointment objectForKey:@"scheduled_time"], [appointment objectForKey:@"patient"]]];
}
self.listData = array;
[self.appointmentTableView reloadData];
}
В классе источника данных моего приложения:
+ (NSMutableArray*)getTodayData:(NSDate*)today
{
NSURL *url = myURL here
ASIFormDataRequest *request = [[ASIFormDataRequest alloc] initWithURL:url];
[request setPostValue:[dateFormat stringFromDate:today] forKey:@"target_date"];
[request startSynchronous];
NSError *error = [request error];
NSString *responseString;
if (!error) {
responseString = [request responseString];
} else {
return NULL;
}
return [responseString JSONValue];
}