ios偏好设置存储
❶ ios 存储沙盒偏好设置和其他的区别
Xcode6沙盒路径与Xcode5沙盒路径对比:
(1)Xcode5中沙盒的路径为:/Users/用户名/Library/Application
Support/iPhone Simulator/7.1-64/Applications/对应应用程序文件夹
通过以上可以看出通过NSUserDefault创建的plist文件真正存放的位置发生了变化,成了在模拟器的资料库文件夹下的Preferences文件夹下,也就是说当我们在删除模拟器中的应用程序后,真正的plist文件是不会被删除的,如果需要清除偏好设置文件需要手动到对应的目录下删除!当然这只是在模拟器的情况下,真机上应该是不会出现这种问题的,具体情况可以尝试下。
❷ iOS中常用的几种持久化存储
1、偏好设置(NSUserDefaults)
2、plist文件存储
3、归档
4、SQLite
5、Core Data
我们首先需要了解下沙盒(Sandbox)
Application :存放程序源文件,上架前经过数字签名,上架后不可修改
Documents : 保存应⽤运行时生成的需要持久化的数据,iTunes同步设备时会备份该目录。例如,游戏应用可将游戏存档保存在该目录
tmp : 保存应⽤运行时所需的临时数据,使⽤完毕后再将相应的文件从该目录删除。应用 没有运行时,系统也可能会清除该目录下的文件。iTunes同步设备时不会备份该目录。
Library/Caches : 保存应用运行时⽣成的需要持久化的数据,iTunes同步设备时不会备份 该目录。⼀一般存储体积大、不需要备份的非重要数据,比如网络数据缓存存储到Caches下
Library/Preference : 保存应用的所有偏好设置,如iOS的Settings(设置) 应⽤会在该目录中查找应⽤的设置信息。iTunes同步设备时会备份该目录
NSUserDefaults是个单例类,用于存储少量数据。NSUserDefaults实际上对plist文件操作的封装,更方便我们直接操作,一般用于存储系统级别的偏好设置。比如我们经常将登录后的用户的一些设置通过NSUserDefaults存储到plist文件中。
NSUserDefaults使用起来非常简单,例如将用户的账号和密码存储起来: