Ответ 1
EDIT: по сравнению с AFNetworking 1.0RC1, это явная функция. AFURLConnectionOperation
теперь имеет метод setShouldExecuteAsBackgroundTaskWithExpirationHandler:
, который прозрачно управляет всем этим для вас.
Это неявная функция, поэтому я действительно не думал о ее рекламе. Все, что вам нужно сделать, это:
- (void)applicationWillResignActive:(UIApplication *)application {
__block UIBackgroundTaskIdentifier backgroundTaskIdentifier = [application beginBackgroundTaskWithExpirationHandler:^(void) {
[application endBackgroundTask:backgroundTaskIdentifier];
[[YourRestClient sharedClient] cancelAllHTTPOperations];
}];
}
Или, если вы управляете своими операциями в своем собственном NSOperationQueue
, просто -cancelAllOperations
здесь.