1.结构
<pre><code>
"应用程序包"
Documents
Library
Caches
Preferences
tmp
</code></pre>
2.目录特性
虽然沙盒中有这么多文件夹,但是没有文件夹都不尽相同,都有各自的特性。所以在选择存放目录时,一定要认真选择适合的目录。
"应用程序包": 这里面存放的是应用程序的源文件,包括资源文件和可执行文件。
<pre><code>let path = NSBundle.mainBundle().bundlePath</code></pre>Documents: 最常用的目录,iTunes同步该应用时会同步此文件夹中的内容,适合存储重要数据。
<pre><code>let documentPaths = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory, NSSearchPathDomainMask.UserDomainMask, true)
let documentPath = documentPaths[0] as! String
或者
let documentPath = NSHomeDirectory() + "/Documents"
</code></pre>Library/Caches: iTunes不会同步此文件夹,适合存储体积大,不需要备份的非重要数据。
<pre><code>let cachePaths = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.CachesDirectory, NSSearchPathDomainMask.UserDomainMask, true)
let CachePath = cachePaths[0] as! String
或者
let documentPath = NSHomeDirectory() + "/Library"
let documentPath = NSHomeDirectory() + "/Library/Caches"
</code></pre>Library/Preferences: iTunes同步该应用时会同步此文件夹中的内容,通常保存应用的设置信息。
tmp: iTunes不会同步此文件夹,系统可能在应用没运行时就删除该目录下的文件,所以此目录适合保存应用中的一些临时文件,用完就删除。
<pre><code>let tmpPath = NSTemporaryDirectory()</code></pre>
网友评论
快乐的开发者您好!🐶
caches呢就是缓存的,例如下载一些文件啊,有些pdf或者其他图片挺大的,可以放在这里,应用下次打开的时候还会在的
而tmp下次打开很有可能被自动删除了,这是临时文件夹
而caches和documents区别就在于:cheches文件夹不会在你备份手机数据的时候上传到iTunes上去,documents则会被备份上传,所以documents放占用空间小的重要数据,备份数据就很轻松
caches放的是比较大的文件,所以就不备份,太大了不容易上传。