Запазване на NSTimer в NSUserDefaults

Правя проста игра за iPhone и след като приключи, бих искал да добавя таймер. Успях да внедря таймера, но сега искам да го поставя на пауза, когато входящ SMS или телефонно обаждане минимизират приложението. Мислех, че трябва да поставя таймера в делегата на приложението и когато ще се извика applicationWillResignActive/applicationDidBecomeActive, да запазя/възстановя обекта на таймера с NSUserDefaults, но виждам, че мога да запазя само „сурови“ данни, а не цели обекти. Как мога да се справя с този проблем?


person IssamTP    schedule 09.11.2010    source източник


Отговори (1)


Ще трябва да съхраните изминалото време в променлива (не бих използвал NSUserDefaults) и след това да създадете нов таймер с извадено изминало време.

Вижте този въпрос за малко повече информация: Как мога програмно да поставя на пауза NSTimer?

person Rengers    schedule 09.11.2010
comment
Може би съм кодирал грешно, но по принцип не ми трябва самото състояние на таймера, а да стартирам селектора в подизгледа, за да опресня UILabel... - person IssamTP; 10.11.2010
comment
Съжалявам, но не разбирам какво имаш предвид. Мислех, че искате да поставите на пауза NSTimer на applicationWillResignActive и да го „стартирате“ отново на applicationDidBecomeActive. Дали това е правилно? - person Rengers; 10.11.2010
comment
Да, но не ми трябва самата стойност, а само повторенията. Както и да е, предполагам, че съм решил проблема по друг начин. - person IssamTP; 17.11.2010