1. 程式人生 > >iOS開發中使用NSUserDefaults儲存的物件變成null的解決辦法

iOS開發中使用NSUserDefaults儲存的物件變成null的解決辦法

問題描述:

        在除錯專案的時候遇到的問題,用NSUserDefaults將一個字串寫在本地,然後就重新執行程式,但是此時用NSUserDefaults取到的值為null。

原因分析:

        使用NSUserDefaults將物件寫入本地,不是立即寫入,而是根據時間戳定時的把快取中的資料寫入本地磁碟。所以剛寫入就重新執行程式,資料有可能還沒有寫入磁碟。

解決辦法:

        呼叫synchornize方法強制寫入。

    [NSUserDefaultsstandardUserDefaults]synchronize];