2015-10-18 57 views
3

在StackOverflow上长时间广泛使用它之后的第一篇文章。IOS(Swift)如何在调试会话期间探索持久性文件?

我正在构建一个小应用程序(只是为了迅速学习),而且我有一些数据持久化的麻烦。我使用NSCoding来实现这一点。问题是,当保存时,功能NSKeyedArchiver.archiveRootObject()返回true(很明显它工作),但是当我稍后尝试检索这些保存的信息时,NSKeyedUnarchiver.unarchiveObjectWithFile()的结果是nil

没有发布我的所有代码,我只是想知道是否有可能在调试会话期间探索存储持久数据的文件。这将允许我检查是否对保存或加载进程部分有问题,并查看数据是否确实存储在正确的文件中。

感谢,

回答

1

Apple Documentation,你得到一个unarchiveObjectWithFilenil处有提到的路径中没有文件。我建议检查你的文件路径,你正在归档和保存你的对象。

至于调试,按照此:

  1. 打印,当您归档和保存对象的文件路径。所以在这NSKeyedArchiver.archiveRootObject(myObject, toFile: filePath)打印filePath
  2. 打开您的terminal应用程序并执行open <filePath>命令打开保存数据的文件路径。
  3. 检查您的数据文件是否在正确的存档中创建。
+0

非常感谢。 它有助于发现实际上存在存储的数据和我试图检索的数据之间的类型问题。 检查文件内容确实很有用,我本来会期望xCode内有这样一个内置函数......但无论如何,谢谢,问题解决了。 –

+0

很高兴帮助。欢呼:)! – Abhinav