Например:iOS. Сохранить состояние, когда пользователь выходит из приложения?
- (void)someFunc {
[self someFunc1];
[self someFunc2];
[self someFunc3];
}
Я называю SomeFunc. Насколько я понимаю, если я прерву приложение, приложение не гарантирует, что будет выполнен весь внутренний код в someFunc.
Я должен назвать someFunc1, someFunc2 и someFunc3 только один раз.
Проблемы, которые я не знаю, как решить:
- someFunc1, someFunc2 и someFunc3 следует назвать атомарно.
- Информация для хранения следующего запуска. Например, если мы успешно выполнили someFunc1 только тогда, то при следующем запуске приложение должно вызывать только someFunc2 и someFunc3.
Я знаю о методе applicationWillTerminate:
, но я не знаю, как решить текущую проблему с ним.
EDITED
Многозадачность не является решением проблемы, так как Even if the device is running iOS 4 or later, the device may not support multitasking.
, поэтому он не решает общую проблему и делает окончательное решение еще только трудно.
EDITED
Для тех, кто рассылает спам с не по теме ответов: прочитать название первого - Сохранить состояние, когда пользователь выходит из приложения. Где вы видели здесь приложение приложения в фоновом режиме?
В эти дни вы можете поддерживать только iOS 4.3 или новее (и никакие новые приложения не должны тратить время на поддержку чего-либо ранее, чем iOS 5.1 или даже 6.1). ВСЕ устройства с 4.3 или более поздними версиями поддерживают многозадачность. Поэтому многозадачность - хорошее решение. – rmaddy
По словам developer.apple.com, 94% устройств работают под управлением iOS 6. Даже снижая поддержку iOS 5 вырезает небольшой кусок рынка! https://developer.apple.com/devcenter/ios/checklist/ – bbum