Я делаю простую игру для iPhone, и теперь, когда она закончена, я хотел бы добавить таймер. Мне удалось реализовать таймер, но теперь я хочу приостановить его, когда входящее SMS или телефонный звонок сворачивают приложение. Я подумал, что должен поместить таймер в делегат приложения и, когда будет вызван applicationWillResignActive / applicationDidBecomeActive, сохранить / восстановить объект таймера с помощью NSUserDefaults, но я вижу, что могу сохранять только «сырые» данные, а не целые объекты. Как я могу справиться с этой проблемой?
Сохранение NSTimer в NSUserDefaults
Ответы (1)
Вам нужно будет сохранить прошедшее время в переменной (я бы не стал использовать NSUserDefaults), а затем создать новый таймер с вычитанием прошедшего времени.
См. Этот вопрос для получения дополнительной информации: Как я могу программно приостановить NSTimer? а>
person
Rengers
schedule
09.11.2010
Возможно, я неправильно закодировал, но в основном мне не нужно само состояние таймера, но чтобы запустить селектор в подпредставлении, чтобы обновить UILabel ...
- person IssamTP; 10.11.2010
Извините, но я не понимаю, что вы имеете в виду. Я думал, вы хотите «приостановить» NSTimer на
applicationWillResignActive
и «запустить» его снова на applicationDidBecomeActive
. Это правильно?
- person Rengers; 10.11.2010
Да, но мне не нужно само значение, только повторения. Во всяком случае, думаю, я решил вопрос по-другому.
- person IssamTP; 17.11.2010