这是我用来将新对象插入我的 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,因为我们使用一个版本来预填充启动的版本。我遵循了名为“Core Data Tutorial: How To Preload/Import Existing Data”的 raywenderlich 方法。
它确实可以与其他实体一起顺利运行,但是当我插入并保存该特定实体时,它会因 CoreData 崩溃:错误:(19)PRIMARY KEY 必须是唯一的。我已经检查了 sqlite,手动插入和删除了新行,它可以正常工作。
有没有人有同样的问题,或者更确切地说知道如何解决它。提前致谢