2012-10-27 84 views
0

我有3个表userID,个人资料必须有一个关系和searchId,个人资料必须有一个关系。我将两个关系的删除规则设置为Nullify。我有两个视图控制器,我使用Restkit从服务器映射JSON数据。在映射输出到Restkit中的核心数据时崩溃

在视图控制器1中: 在此视图中,使用Restkit从服务器获取数据并在数据库中映射数据。 (userID - > profile)

In View Contrller 2: 从服务器检索数据并将其映射到数据库(searchID - >配置文件)。

视图控制器1中有一个刷新按钮,它将从服务器获取数据并映射(更新)数据库。

问题:在View Controller 1从服务器加载数据后,我试图从View Controller中搜索从服务器加载数据的数据。我在ViewController 1 UI中加载这些数据(因为View Controller 1的结果和View Controller 2的结果是类似的格式)在这里没有问题。

但是,当我再次单击刷新按钮,应用程序崩溃与以下错误。我无法弄清楚问题所在。

*** Terminating app due to uncaught exception 'NSObjectInaccessibleException', reason: 'CoreData could not fulfill a fault for '0x8b4b950 <x-coredata://EE00CF63-BECD-40FC-B531-1424930D75D6/USERID/p42>'' 
*** First throw call stack: 
(0x2b78022 0x2d28cd6 0x230b506 0x230b0a7 0x230ac86 0x2316db9 0x2316c26 0x231a38e 0x234a5f6 0x2338df7 0x233791e 0x233765d 0x2336f0a 0x1d59d91 0x1d59895 0x1d3f33e 0x231af3f 0x231a449 0x234a5f6 0x2338df7 0x23379ec 0x233765d 0x2336f0a 0x1d59d91 0x1d59895 0x1d3f33e 0x231af3f 0x231a449 0x234a5f6 0x2338df7 0x2338d64 0x1d70d50 0x273ebd 0x274727 0x1d7463e 0x1d6d1e7 0x1d6ceea 0x29c725 0x2a78b0 0x29e0f7 0x29e773 0x29ea5a 0x28ed330 0x28eef0c 0x28eecb4 0x28ee402 0x97dd7b24 0x97dd96fe) 
terminate called throwing an exception 

任何帮助深表感谢

+0

将断点添加到objective-c例外。你会看到调用堆栈和导致崩溃的行 – Morion

回答

1

都是你的管理对象上下文保存你点击刷新按钮之前? “CoreData无法完成错误”错误意味着Core Data试图找到具有特定ID的行,但无法找到该行。当您跨线程传递托管对象时(您永远不应该这样做,您应该传递对象标识),或者在线程之间传递标识而不保存创建对象的上下文时,可能会发生这种情况。