2010-11-09 132 views
0

我正在爲iPhone做一個簡單的遊戲,現在完成了,我想添加一個計時器。我設法實現了定時器,但是現在我想在傳入的SMS或電話呼叫使應用程序最小化時暫停它。 我認爲我應該把計時器放在應用程序委託中,當applicationWillResignActive/applicationDidBecomeActive被調用時,用NSUserDefaults保存/恢復計時器對象,但是我看到我只能保存「原始」數據,而不是整個對象。 我該如何管理這個麻煩?保存NSTimer到NSUserDefaults

回答

0

您需要將經過的時間存儲在一個變量中(我不會使用NSUserDefaults),然後創建一個新的計時器,同時減去經過的時間。

更多的一些信息見這個問題:How can I programmatically pause an NSTimer?

+0

也許我錯編碼,但基本上我不需要定時器的狀態本身,而是在子視圖啓動選擇刷新一個UILabel ... – IssamTP 2010-11-10 10:03:50

+0

我很抱歉,但我不明白你的意思。我以爲你想'在'applicationWillResignActive'上'暫停'NSTimer,然後在'applicationDidBecomeActive'上再次啓動它。它是否正確? – Rengers 2010-11-10 13:41:53

+0

是的,但我不需要「價值」本身,只需要「重複」。無論如何,我想我已經用另一種方式解決了這個問題。 – IssamTP 2010-11-17 14:06:58