我看到這種奇怪的行爲,這似乎是特定於我的具體設備或我的建築環境(我的同事在構建相同的代碼時沒有此問題)。每當我從Xcode數據中啓動應用程序NSUserDefaults
都不見了。當我殺死應用程序並重新啓動它時,情況也是如此NSUserDefaults中的數據在每次應用程序重新啓動時都消失
我已經嘗試重新啓動Xcode,我的筆記本電腦,設備,清理項目和派生數據 - 沒有任何幫助。更新數據後我會打電話synchronize()
,所以應該堅持。但事實並非如此。我在控制檯中看不到任何錯誤。
這個問題的原因是什麼?我該如何解決它?這是由一些奇特的隱藏項目設置造成的嗎?
我還想知道數據在重新啓動時是否重置,或者在調用synchronize()
時未保存。我可以檢查保存NSUserDefaults
的文件內容嗎?
UPDATE:一個有趣的細節。在Simulator中殺死應用程序後,我無法再從Xcode啓動它(獲取「The operation couldn’t be completed. (LaunchServicesError error 0.)
」)。我必須使用iOS Simulator -> Reset Content and Settings
才能在仿真器中再次運行應用程序。
更新2:我試圖找到該文件,在其中iPhone模擬器商店NSSharedPreferences
的建議here,但它不存在。
儘量不要殺應用程序,但關閉它像正常的應用程序(二點擊按鈕來指揮+在模擬器Shift + H鍵) – Edig
@EduardoIglesias是,這樣的設置將不會被複位。但是,我是否也應該問我的用戶不要殺這個應用程序? –
當您想要生存的內容發生變化時,您可以同步用戶默認值。 [[NSUserDefaults standardUserDefaults]同步]。 – gnasher729