将(数组数据)会话存储在核心数据iOS中

时间:2013-08-13 13:51:01

标签: ios objective-c core-data

在我的应用程序中,我在firstController上有七个类别按钮,它打开secondController(tableView),其中包含一系列问题。这个问题在tableView中,它具有Yes,NO按钮选项,用于检查/取消选中标记。选择是 - 否选项将更改tableView行的颜色。在回答问题后,用户可以生成审核报告(第1次会话)。此报告通常是PDF文件。我正在打印PDF页面上的所有选中问题并保存。

我使用NSUserDefault来保存所有已检查问题的数组,并使用NSDocumentDirectory来保存PDF文件。在当前场景中,用户必须在他想要为第二个审计报告(第二个会话)工作之前重置所有内容。

现在,客户希望能够灵活地将第一份未完成的审核报告保存在数据库中,并希望完成第二份审核报告。因此,他可以在以后完成第一份审计报告,等等......

之前我从未使用Core Data,因此核心数据会帮助我完成上述方案。我如何从头开始应用逻辑。有人可以给我更好的主意。提前谢谢。

使用说明

进行编辑

我在tableView中使用check / uncheck按钮获取了400个问题数组列表。但是对于审核,用户可以按照自己的意愿检查问题。说他检查了100个问题,这样他就可以保存100个问题并打印为PDF页面。 用户希望有机会保存已检查未检查问题的所有未完成会话以便稍后访问以将其转换为PDF文件。

哪种方法会更好?

1 个答案:

答案 0 :(得分:0)

如果您只有所选行的数组或布尔值或标识符,请不要使用Core Data。相反,只需使用writeToFile:atomically:将阵列保存到磁盘,然后在需要时使用initWithContentsOfFile:将其读回。如果要存储更多信息,您只想考虑核心数据。


您还可以拥有一系列词典。存储整个事物,而不仅仅是编辑的值(使索引变得容易)。颜色很有趣。您可以将它们编码为字符串,以逗号分隔的rgb值或使用存档将它们转换为数据。您不能直接将颜色放入plist中。您可以将颜色转换为可转换的核心数据。