NSTimer: applicationDidEnterBackground: обратный отсчет (как сохранить состояние)

У меня есть простой таймер обратного отсчета, который обновляет метку каждую секунду. Как сохранить состояние или иллюзию этого при нажатии кнопки «Домой» или когда приложение помещается в фоновом режиме?

1
задан Ronn 27 August 2010 в 19:31
поделиться

1 ответ

На самом деле вам не нужно работать в фоновом режиме, если все, что вам нужно сделать, это поддерживать таймер. В делегате вашего приложения applicationWillTerminate: создайте NSDictionary, содержащий время срабатывания NSTimer, и запишите его в plist, используя -[NSDictionary writeToFile:atomically:], затем прочитайте его обратно, используя -[NSDictionary initWithContentsOfFile:] где-то в делегате вашего приложенияapplication:didFinishLaunchingWithOptions:.

Если вы все равно работаете в фоновом режиме, сделайте то же самое в applicationDidEnterBackground: и applicationWillEnterForeground:. Если вы используете это решение, обязательно аннулируйте таймер после записи plist.

2
ответ дан 2 September 2019 в 21:45
поделиться