Iphone CoreData问题:错误:(19)主键必须唯一

Iphone CoreData问题:错误:(19)主键必须唯一,iphone,core-data,nsfetchedresultscontroller,nsmanagedobjectcontext,Iphone,Core Data,Nsfetchedresultscontroller,Nsmanagedobjectcontext,这是我用来将新对象插入Raza实体的代码。不过没什么特别的。在我的应用程序中,我在任何地方都使用了这个委托方法和语法,但由于某些原因,我不能在这个特定的实体上使用它 -(void)guardarRaza:(NSString *)nombre guardar:(BOOL)guardar{ if (guardar) { Raza *raza = [NSEntityDescription insertNewObjectForEntityForName:@"Ra

这是我用来将新对象插入Raza实体的代码。不过没什么特别的。在我的应用程序中,我在任何地方都使用了这个委托方法和语法,但由于某些原因,我不能在这个特定的实体上使用它

-(void)guardarRaza:(NSString *)nombre guardar:(BOOL)guardar{

        if (guardar) {
            Raza *raza = [NSEntityDescription insertNewObjectForEntityForName:@"Raza"
                                                       inManagedObjectContext:self.managedObjectContext];
            raza.nombre = nombre;            
            NSError *error;
            if (![self.managedObjectContext save:&error]) {
                NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
                abort();
            }
        }
        [self dismissModalViewControllerAnimated:YES];
    }
问题可能来自sqlite,因为我们使用一个版本来预填充已启动的版本。我遵循了名为“核心数据教程:如何预加载/导入现有数据”的raywenderlich方法

它与其他实体的工作非常顺利,但是当我插入并保存该实体时,它会与CoreData崩溃:错误:(19)主键必须是唯一的。我已经签出了sqlite,手动插入和删除了新行,它就可以正常工作了

是否有人有同样的问题,或者更确切地说,知道如何解决它。
提前感谢

我刚刚经历了同样的错误,并找到了一个解决方案,我在另一篇SO帖子中对此进行了详细介绍:


看这里。。谢谢,但我以前找到过这个答案。它没有解决所问的问题。我是通过检查sqlite数据库来实现的,并通过使用正确的参数替换表Z_ENT来解决这个问题。