CoreData问题:错误:(19)PRIMARY KEY必须是唯一的

时间:2012-11-13 12:17:27

标签: iphone core-data nsfetchedresultscontroller nsmanagedobjectcontext

这是我用来将新对象插入我的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,因为我们正在使用一个版本来预先填充启动版本。我已经按照名为"核心数据教程:如何预加载/导入现有数据&#34的raywenderlich方法进行了跟踪。 。

它与其他实体一起工作顺利,但是当我插入并保存在特定的实体上时,它会与CoreData崩溃:错误:(19)PRIMARY KEY必须是唯一的。我已经检查了sqlite,手动插入和删除了新行,它只是工作。

有没有人有同样的问题,或者更确切知道如何解决它。 提前致谢

1 个答案:

答案 0 :(得分:0)

我刚刚遇到了同样的错误,并找到了我在其他SO帖子中详述的解决方案:

Why is this code raising the "CoreData: error: (19) PRIMARY KEY must be unique" error?