iOS数据存储——沙盒。

时间:2022-05-07 22:12:27

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不会备份临时文件