我正在使用核心数据开发一个 iphone 应用程序和数据库即时通讯。在保存核心数据的同时正常工作。
但有时,保存失败。这会导致我的应用程序中出现重复记录。我有 2 张桌子
父表
子表
当子表失败并且用户尝试再次保存时,会创建多个父记录。我的问题是:
- 为什么核心数据失败。由于它很少见,我无法找到它失败的原因。可能是什么原因?
- 如果子表无法保存,是否有任何方法可以回滚父表的数据。
提前致谢 :)
1. 为什么核心数据失败。由于它很少见,我无法找到它失败的原因。可能是什么原因? 由于您没有编写任何代码,因此很难检测到,当您将数据保存到核心数据时,如果保存失败,您可以记录错误,然后您将能够知道问题的确切原因。
NSError *error;
if (![managedObjectContext save:&error]) {
NSLog(@"Failed to save - error: %@", [error localizedDescription]);
}
2.如果子表保存失败,有什么办法可以回滚父表的数据。 不,我认为不可能回滚。在这种情况下,我总是检查数据是否已经插入,如果没有,我将输入该数据,反之亦然。