У меня есть следующий код, который извлекает некоторые данные из php-скрипта. Я обнаружил, что он блокирует интерфейс, поэтому индикатор выполнения не вращается. Есть ли простой способ отправить это в фоновый режим, чтобы пользовательский интерфейс мог делать все, что ему нужно? У меня сложилось впечатление, что этого можно было бы достичь с помощью блоков, но я был явно неправ (изучая Obj-C шаг за шагом!)
Спасибо!
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
}];
enbleLoadingState:
? Метод, запускающий запрос, должен вернуться немедленно. Проверьте это, вставив NSLog в начале и в конце метода и внутри блока успеха. NSLog в блоке успеха должен наконец распечататься. - person Felix   schedule 19.04.2012