У меня есть следующий код, который извлекает некоторые данные из сценария php. Я обнаружил, что он блокирует интерфейс, чтобы индикатор прогресса не вращается. Есть ли простой способ отправить это на задний план, чтобы пользовательский интерфейс мог делать все, что ему нужно? У меня создалось впечатление, что использование блоков достигло бы этого, но я, очевидно, был не прав (обучение Obj-C одним шагом за раз!)AFHTTPRequestOperation blocks UI
Спасибо!
NSDictionary *params = [NSDictionary dictionaryWithObjectsAndKeys:
self.user.username, @"username",
self.user.password, @"password",
nil];
AFHTTPClient *client = [[AFHTTPClient alloc] initWithBaseURL:
[NSURL URLWithString:@"http://domain.com"]];
// Show animated progress indicator, etc
[self enbleLoadingState:YES];
[client postPath:@"/en/api/login" parameters:params success:^(AFHTTPRequestOperation *operation, id response) {
[self enbleLoadingState:NO];
// Do stuff
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
[self enbleLoadingState:NO];
// Show error
}];
Этот код должен работать, запрос загружается в фоновом режиме. Проблема должна быть в другом месте. – Felix
лучший подкласс AFHTTPClient и сделать его одноэлементным классом – Felix
@ phix23 Но он не работает :(В моем сценарии php я делаю сон (5), который ждет 5 секунд, и индикатор прогресса остается там, и я не могу ударил любые другие кнопки в пользовательском интерфейсе. Я использую последние Xcode и iOS SDK на сегодняшний день. Это происходит в симуляторе, а также в первом поколении iPad. Я использую ARC ... Я ничего не могу придумать иначе я буду пробовать подклассифицировать клиента, как вы сказали (я думаю, что я видел пример этого где-то). – Julian