这是我时不时遇到的一个奇怪问题。我使用多个实体解析 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。每次我刷新它都会继续存储空值。如果我杀死并启动应用程序,它会正确存储日期。我尝试使用模型,但它发生了同样的事情。
有任何想法吗?我现在很迷茫。