2010-09-20 78 views
0

因此,作为一种学习练习,我试图制作一个简单的文件浏览器,与文件存储机制进行接口。 (Think Dropbox或box.net)我想添加一项功能,允许用户标记本地存储的文件,以便在未连接到网络时查看它。是否有一个苹果API允许这样的事情。iPhone/iPad应用程序存储

也许有办法将文档添加到本地包,然后在稍后访问文件的方式?我一直无法找到这方面的文件。任何见解,指导或只是一般的建议将不胜感激。谢谢!

+0

你的问题不够集中。你到底需要什么帮助?将文件保存到磁盘?传输文件,可能通过HTTP?与外部服务的API接口?确定文件的年龄? – 2010-09-20 18:34:29

+0

对不起,我需要帮助保存文件,然后再加载它们。我正在本地下载它,并可以预览等。但是,当应用程序退出时,文件会丢失。我需要它坚持下去。 – gabaum10 2010-09-20 18:44:27

回答

2

你可以找到这样的应用程序的文件目录:

/** 
Returns the path to the application's Documents directory. 
*/ 
- (NSString *)applicationDocumentsDirectory { 
    return [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject]; 
} 

然后得到该目录中的文件的URL(即路径名):

NSURL *fileURL = [NSURL fileURLWithPath: [[self applicationDocumentsDirectory] stringByAppendingPathComponent:theFilename]]; 

和使用可可文件的写作方法(例如NSString,NSData),或者你可以使用普通的stdio等等。

+0

对,我明白了。如果我有一个静态文件保存在应用程序目录中,这将是有用的。问题是我需要弄清楚如何先保存一个。我有一个在内存中,但需要将它写入磁盘稍后加载... – gabaum10 2010-09-20 18:45:19

+0

您使用什么类来表示文件的数据? – 2010-09-20 19:24:26

+0

我从连接中获取数据并将其存储在NSData的实例中。 – gabaum10 2010-09-20 20:41:31