iPhone - 数据库查询返回未提交的条目?

时间:2011-08-19 19:13:55

标签: iphone ios core-data

我的应用中有核心数据。在某些时候,我必须向数据库添加一个新事件。所以我这样做:

anEvent = [NSEntityDescription insertNewObjectForEntityForName:@"Events" inManagedObjectContext:context];

这会给我一个干净的条目来开始填充值。

一旦用户完成所有事件属性的填充并点击DONE,我必须检查数据库上是否有另一个相等的事件。该应用程序不允许重复输入。因此,如果在数据库上检测到重复事件,则用户会收到消息并且必须更改某些内容。如果没有重复,那么我将条目提交到数据库。请记住,如果条目没有重复,则该条目将保存到数据库中。我不知道它是如何调用核心数据的,但是我们可以说这个未提交的条目是在一种“想要的条目缓冲区”中。

问题是这样的:当我查询数据库以接收条目时,这个想要的条目就在那里。因此,每次检查重复都会导致真实,显然。

那怎么可能?如果条目未提交到数据库,如何在查询中显示该条目?我错过了什么吗?

是的,我确信在查询中看到的条目尚未提交。

感谢

1 个答案:

答案 0 :(得分:1)

对象插入到上下文中,您的获取请求也适用于上下文。因此,新项目可能会在您的查询中。

您可以使用变通方法:将所有数据保存在局部变量中,检查它们,如果输入正常,则创建新对象并插入数据。