NSUserDefaults 是app 数据持久化的其中一种,它存储于沙盒目录中的Library/Preferences/ 文件夹下,一般文件名为,com. YOUR_BundleIdentifier.plist


使用NSUserDefaults 存储的数据,只有在app删除后在重装,才会恢复到初始状态。在App store 的更新操作,不会更改上个版本app 的 plist中 NSUserDefaults的值。


NSUserDefault 会自己在合适的时候调用 synchronize 的方法,来存储数据到本地磁盘。UserDefaults不是立即写入,而是根据时间戳定时的把缓存中的数据写入本地磁盘。不过为了稳妥,可以通过调用synchornize方法强制写入。