我必须在哪个文件夹中保存IOS应用程序中的数据文件?

时间:2013-06-15 00:21:31

标签: iphone ios

我正在开发一个QRCode阅读器应用程序。扫描qrcore时,我想将其保存在文件中。 我不想在icloud中支持它,我只是想在关闭应用程序时不会丢失文件数据。

所以 我应该保存哪个文件夹我的数据文件?

感谢

3 个答案:

答案 0 :(得分:4)

根据iOS Data Storage Guidelines,您可以选择在

中存储数据
  1. 文档 - 用户生成的数据(不可重现)
  2. 缓存 - 缓存内容(可重现)
  3. Temp - 临时数据(不需要跨会话持久化)
  4. 没有iCloud备份属性的文档
  5. 选择存储位置的决定取决于应用的上下文。如果QRCode文件需要在那里并且是用户特定的选择选项4.如果设备磁盘空间不足,则可以清除存储在caches目录中的数据。

    NSString *documentsDirectory = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)[0];
    

    有关详细信息,请参阅answer1answer2

    感谢TommydanhThe Tiger让答案更加完整。

答案 1 :(得分:1)

未与用户或iCloud共享的文件应保存在

<Application_Home>/Library/Caches/<APP_BUNDLE_ID>/

答案 2 :(得分:0)

您还可以使用NSDefaults,它将数据存储在Preferences文件夹中的XML文件中。存储数据:

NSUserDefaults *settings = [NSUserDefaults standardUserDefaults];
[settings setInteger:qrCode forKey:@"QRCode"];
[settings synchronize];

(假设QR码数据存储在一个名为qrCode的整数中) 要再次阅读QR码:

NSUserDefaults *settings = [NSUserDefaults standardUserDefaults];
int qrCode = [settings integerForKey:@"QRCode"];