2013-02-23 59 views
-12

我需要了解基本问题。在IOS中列出文档文件

1)我需要从我的应用程序下载一些数据..应该在哪里存储它(文档目录或其他路径)。

2)如果我在..delete我的应用程序中存储在文档目录..然后将我的所有下载的数据都删除。

3)我下载的数据可以增加空间大小意味着GB,所以我应该在哪里存储它。

下面的代码给我的文档目录

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 

    documentsDirectory = [paths objectAtIndex:0]; 
NSLog(@"path %@",documentsDirectory); 
filePathsArray = [[NSFileManager defaultManager] subpathsOfDirectoryAtPath:documentsDirectory error:nil]; 
NSLog(@"af%@",filePathsArray); 

4)如果我需要列出的数据列表数据的一些特定的文件夹说"/users"那么应该是什么的代码更改。

+0

@ H2CO3 ya man我知道代码..我只需要知道我应该在哪里存储数据在'NSCachesDirectory'或'NSDocumentDirectory' .. ..让它保持在内存中 – user2102546 2013-02-23 16:43:57

回答

2

1)Apple更喜欢将下载的数据存储在应用程序的Caches目录中,因为如果数据被删除,数据可以被替换。

2)是的,如果用户删除一个应用程序,存储在应用程序的沙箱中的所有数据将被删除。你期望会发生什么?

3)使用NSCachesDirectory

4)/Users不是应用程序沙箱中的有效路径。在模拟器中运行时可能会看到这样的路径,但不会在真实的设备上运行。

苹果的文档讲述了iOS文件系统和应用程序沙盒的结构。你真的应该从阅读这些文档开始。

顺便说一句 - 这些答案的每一个都可以用几分钟的时间使用谷歌或搜索本网站找到。这就是为什么你得到所有的反对票。在发布问题之前,请付出一些努力找到自己的答案。请阅读(整个)常见问题。

+0

好的谢谢男人...喜欢需要保持安全的数据到我的记忆...所以我将使用'NSCachesDirectory'而不是'NSDocumentDirectory',但后来我怎么可以通过代码访问数据... bcz地址将改变'..应用程序/ 2492C5CE- CD36-4270-8BB8-25710C24BF9E/Library/Caches' for the same app ..ryt – user2102546 2013-02-23 16:49:56

+0

Caches目录中的文件可以被操作系统删除。如果发生这种情况,您将需要再次下载它们。您发布的代码(加上将NSDocumentDirectory更改为“NSCachesDirectory”)基本上是如何访问数据的。 – rmaddy 2013-02-23 16:53:12