3

我正在开发一个二维码阅读器应用程序。扫描 qrcore 时,我想将其数据保存在文件中。我不想在 icloud 中备份它,我只想在应用程序关闭时不会丢失文件的数据。

那么我应该在哪个文件夹保存我的数据文件?

谢谢

4

3 回答 3

5

根据iOS 数据存储指南,您可以选择将数据存储在

  1. 文档 - 用户生成的数据(不可重现)
  2. 缓存 - 缓存内容(可重现)
  3. Temp - 临时数据(不需要跨会话持久性)
  4. 没有 iCloud 备份属性的文档

选择存储位置的决定取决于应用程序的上下文。如果 QRCode 文件需要存在并且是用户特定的选择选项 4。如果设备磁盘空间不足,可以清除存储在缓存目录中的数据。

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

请参考answer1answer2了解更多详情。

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

于 2013-06-15T00:23:13.693 回答
1

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

<Application_Home>/Library/Caches/<APP_BUNDLE_ID>/
于 2013-06-15T01:38:01.333 回答
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"];
于 2013-06-15T03:00:57.867 回答