CoreData:错误:NULL _cd_rawData但对象没有变成错误

时间:2012-02-10 08:48:19

标签: iphone core-data

保存到核心数据时偶尔会出现此错误。我无法重新创建它。

有没有人有过这个错误的经验;

CoreData: error: NULL _cd_rawData but the object is not being turned into a fault

3 个答案:

答案 0 :(得分:50)

原因:

当对象的上下文不属于当前线程时,会发生这种情况。错误的许多方法之一可以表现出来。

调试:

发生崩溃时,请执行以下操作:

  1. 检查发生崩溃的线程(Xcode> Debug Navigator)
  2. 在控制台打印上,NSManagedObjectContext
  3. 的并发类型
  4. 如果并发类型为mainQueueConcurrencyType,那么它需要在主线程上,否则在后台线程上。
  5. 用于检查并发类型的控制台命令:

    p context.concurrencyType
    

    在上面的示例命令中,NSManagedObjectContext存储在变量context

    控制台输出:

    (NSManagedObjectContextConcurrencyType) $R4 = mainQueueConcurrencyType
    

答案 1 :(得分:13)

答案 2 :(得分:0)

当我尝试从其他线程(非主要)中的Coredata Store读取(访问)数据时,我发现了同样的问题。

您可以通过以下链接解决此问题:
Core Data and threads / Grand Central Dispatch