核心数据故障

时间:2013-08-08 10:48:24

标签: objective-c core-data

这是一个奇怪的问题,我时不时地得到。 我解析一个JSON并使用几个实体将其存储到CoreData中。我保存了JSON中的数据,然后将其拉出来在屏幕上显示。 该应用程序始终从XCode启动时完美运行。但是当我从iPhone开启任何其他时间它有时,它只发生大约每20次一次,它没有显示从JSON保存的数据,我相信问题是CoreData中保存的信息被破坏了一些如何,特别是日期,有时我可以看到屏幕上的日期为空。

以下是我保存日期的方式

[event setValue:[df dateFromString:(NSString *)[key objectForKey:@"startSaleDate"]] forKey:@"dateStartSale"];
[event setValue:[df dateFromString:(NSString *)[key objectForKey:@"finishSaleDate"]] forKey:@"dateEndSale"];

如果我重新启动应用程序,那就是杀死应用程序并再次启动它,这一切都完美无缺。 JSON始终是正确的,显然它在手机中安装了几个小时之后就会出现问题。这有意义吗?

感谢。

[UPDATE]

我做了一些测试。这是一个难以捕获的错误,因为它只在后台几个小时后才会发生。 弄清楚唯一的问题是实际存储NSDates。不是其他数据。在后台运行一段时间后,它无法保存NSDate,即使JSON有一个有效的Date它存储为null。每次刷新它都会继续存储null。 如果我杀死并启动应用程序,它会正确存储日期。 我尝试使用模型,但它发生了相同的事情。

有什么想法吗?我现在很失落。

2 个答案:

答案 0 :(得分:0)

一旦我相信,我就遇到过这样的问题。就我而言,它与显示机制有关。

- >尝试更频繁地重新加载数据(或重置获取的结果控制器)以进行测试。

答案 1 :(得分:0)

对不起伙计们,我的这一切都是一个愚蠢的错误。 我认为这与背景有关,因为我无法重现它,因为它只是时不时地发生。 好吧,问题是,如果你以某种方式通过屏幕按照某个顺序,NSDateFormatter被初始化得很糟糕,并且使得日期没有正确保存。

与CoreData无关......