2011-09-05 38 views
0

我已經在Apple的iOS開發中心搜索,但找不到任何正確的東西。這是我的問題:存儲一個值超出applicationWillTerminate

我有一個應用程序使用CoreData與幾個實體。數據通過服務器動態更新。每次應用程序變爲活動狀態時,都會調用checkForUpdates,但僅在自上次更新後經過一段時間後才執行。

當最終執行checkForUpdates時,它會更新所有內容,根據最近一次更新完成時檢查服務器上的版本是否爲最新版本檢查每個對象。

我在Updater類型的NSDate類中有一個局部變量,它保存上次更新成功完成的時間。我需要能夠以某種方式存儲這個值,並且在應用程序終止之外的某處。

我想知道什麼是最具成本效益的記憶方式和性能方面。縱觀iOS開發中心,我首先想到了應用程序首選項,但由於它只是一個單一的值,我認爲會有更簡單的方法。對不起,如果這真的很容易,但我是新的Objective-C和iOS編程。

任何幫助,將不勝感激!如果需要更多信息,請隨時在下面評論。

編輯:難道是一個好主意,只需創建一個新entitiy與NSDate屬性,簡單地保持lastUpdateTime變量在我的數據庫?

最好的問候, Octoshape

回答

4

聽起來像你想NSUserDefaults存儲。它使用像字典一樣,但仍然存在:

[[NSUserDefaults standardUserDefaults] setObject:myDate forKey:@"LastUpdateTime"]; 
0

使用NSUserDefaults存儲的最後更新時間。

當您的更新程序成功時,將成功時間寫入您的應用程序默認值,這樣您可以在下次啓動時訪問該程序,並且您可以隨時致電此程序。

0

斯威夫特2.X版本

NSUserDefaults.standardUserDefaults().setObject(NSDate(), forKey: "Last_Modified")