У меня есть простой таймер обратного отсчета, который обновляет метку каждую секунду. Как сохранить состояние или иллюзию этого при нажатии кнопки «Домой» или когда приложение помещается в фоновом режиме?
На самом деле вам не нужно работать в фоновом режиме, если все, что вам нужно сделать, это поддерживать таймер. В делегате вашего приложения applicationWillTerminate:
создайте NSDictionary, содержащий время срабатывания NSTimer, и запишите его в plist, используя -[NSDictionary writeToFile:atomically:]
, затем прочитайте его обратно, используя -[NSDictionary initWithContentsOfFile:]
где-то в делегате вашего приложенияapplication:didFinishLaunchingWithOptions:
.
Если вы все равно работаете в фоновом режиме, сделайте то же самое в applicationDidEnterBackground:
и applicationWillEnterForeground:
. Если вы используете это решение, обязательно аннулируйте таймер после записи plist.