iOS数据存储——沙盒。
iOS数据的持久化,可以通过以下途径解决
1、通过文件管理\归档来解决。
2、如果只是少量数据,可通过NSUserDefaults解决,相当于android中的sharedPreferences。
3、plist属性文件,这里面存的是数组和字典,可以以plist属性文件或xml形式打开。
4、如果存储数量比较大,那就得搬出数据库了,不过,iOS的数据库也是一个小型数据库,就是一个文件。
iOS的数据库提供两种API:C语言的和OC的CoreData。
沙盒是什么鬼?说实话,我第一次听说这东西,我也蒙圈,我以前是做android开发的,android里没这东西啊。后来才弄明白。
你可以这么理解。
每个应用程序有属于自己的一组文件,这一组文件就是沙盒,但是,每个APP只能访问自己的这一组文件。这一组文件就藏在Finder中。
那么,我们有那么多应用,那么多组类似的文件,我怎么知道,甚至快速的定位到我当前应用的沙盒文件呢?
方法一:commend+shift+G 打开前往文件夹-> 输入 /user/<用户名>/library/->进入OSX库目录 进入 Application Support/iPhone Simulator/9.0/Applications 子目录
但是,你恐怕看到这个子目录就会哭出来,不信你试试:)所以不推荐
方法二:命令行输入 defaults write com.apple.finder AppleShowAllFiles -bool true
退出Finder ,再重启Finder 就可以看到隐藏的文件和文件夹
然后 /user/<用户名>/library/->进入OSX库目录 进入 Application Support/iPhone Simulator/9.0/Applications 子目录
又哭了是不是?:)
方法三:沙盒软件
Simpholders.
沙盒文件结构:
Documents:除了NSUserDefaults以外,应用程序的数据、文件都在这里
Library:NSUserDefaults 存在Library/Preferences目录下
tmp:存储临时文件,iTunes不会备份临时文件