1

这是我时不时遇到的一个奇怪问题。我使用多个实体解析 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 总是正确的,显然它在手机中安装了几个小时后会做一些时髦的事情。那有意义吗?

谢谢。

[更新]

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

有任何想法吗?我现在很迷茫。

4

2 回答 2

0

对不起,伙计们,这都是我的一个愚蠢的错误。我认为这与背景有关,因为我无法重现它,而且它只是偶尔发生。好吧,如果您按照某种顺序以某种方式浏览屏幕,则 NSDateFormatter 初始化错误,导致日期未正确保存。

所以与CoreData无关......

于 2013-09-07T09:56:46.827 回答
0

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

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

于 2013-08-09T17:56:30.423 回答