2010-01-08 133 views

回答

0

我想問的是詢問某個特定的對象是否存儲在用戶的默認值中,而不知道數據是否成功保存。

用戶的默認值只是一個詞典,就其API而言,因此您可以嘗試檢索給定鍵的對象。如果返回的對象不是nil,那麼顯然已經爲該密鑰存儲了一些內容。相反,如果回報爲nil,則不存儲任何內容,您應該加載默認對象或執行其他類型的意外事件。

5

NSUserDefaults的要點是它可以透明地保存您的數據給您,無需您的干預,因此您無法問它是否保存了數據。

但是,您可以通過調用[[NSUserDefaults sharedUserDefaults] synchronize];來強制它保存,它將返回BOOL,指示保存是否成功。此方法的文檔說:

由於此方法是自動 每隔一段時間調用,使用 此方法只如果你不能等待 的自動同步(用於 例如,如果你的應用程序即將 到退出),或者如果您想更新 用戶,則默認爲磁盤上的內容,即使您沒有進行任何更改,即使是 也是如此。

相關問題