簡體   English   中英

NSUserDefaults沒有保存在模擬器中?

[英]NSUserDefaults not being saved in simulator?

我的[NSUserDefaults standardUserDefaults]未被保存。 我關閉應用程序並重新啟動它的所有內容都會恢復原狀。 我沒有我的iOS設備,所以我不確定這是否會在設備上發生,但其他應用程序都沒有在模擬器中這樣做,這讓我相信我的代碼有問題。 我不知道我應該在這里包含哪些代碼部分,它只是簡單地在nsuserdefaults中添加/修改密鑰,並且正如我所說它在應用程序中運行正常,但在我重新啟動它之后卻沒有...

我知道我可以調用synchronize但Apple建議反對它,並說如果它是必須的話,我應該只調用它。所以。

怎么可能出錯? 謝謝。

您的進程可能未正確終止,因此NSUserDefaults沒有機會存儲。 另見這個 ,主要是這個

我鏈接到的第二篇文章中的建議是在applicationDidEnterBackground:調用synchronize applicationDidEnterBackground:

還要記住,通過在Xcode中停止來終止您的應用程序通常不會保存用戶默認值。

你是從Xcode /調試器重新啟動? 嘗試首先使用“主頁”按鈕將應用程序發送到后台。 我認為框架會自動同步。

我無法理解你正在訪問NSUserDefault的方式,你在Apple文檔中不存在與NSUserDefault一起使用的sharedDefaults的靜態函數

使用如下方法訪問NSUserDefault

[NSUserDefaults standardUserDefaults];

有關更多信息,請閱讀使用NSUserDefault的博客文章。

iPhone編程教程 - 使用NSUserDefaults保存/檢索數據

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM