Отправлены операции сохранения в applicationDidEnterBackground:
Документация Apple о«Состояния приложений и многозадачность» (Раздел «Что делать при переходе в фоновый режим») говорит о сохранении, когда приложение переходит в фоновый режим:
Сохраните пользовательские данные и информацию о состоянии приложения. Все несохраненные изменения должны быть записаны на диск при входе в фоновый режим. Этот шаг необходим, потому что ваше приложение может быть тихо убито в фоновом режиме по ряду причин. Вы можете выполнить эту операцию из фонового потока по мере необходимости.
Когда я начинаю отправленную операцию, например для сохранения, которое занимает некоторое время вapplicationDidEnterBackground:
подобно следующему, я не получаю вывод NSLog при нажатии кнопки home. После возврата в приложение появляется вывод NSLog.
- (void)applicationDidEnterBackground:(UIApplication *)application {
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
[self performOperation];
NSLog(@"Operation finished");
});
}
Могу ли я быть уверен, чтоperformOperation
метод был выполнен полностью или он прервался, когда приложение перешло в спящий режим?