我收到“无法保存”错误,不。1620,当我尝试以下操作时:
NSManagedObjectContext *context = [self managedObjectContext];
CustomObject *objToInsert = [NSEntityDescription insertNewObjectForEntityForName:@"CustomObject" inManagedObjectContext:context];
objToInsert.variable1 = [NSNumber numberWithFloat:10.0];
objToInsert.variable2 = [NSDate date];
objToInsert.variable3 = [NSNumber numberWithInt:1];
NSError *error;
if (![context save:&error]) {
NSLog(@"failed to save with error = %@", [error localizedDescription]);
}
在将其他 NSManagedObject 子类对象保存到 managedObjectContext 时,同样的逻辑可以正常工作。1620 错误被列为“数字太小”验证错误,但我输入的数字显然没有任何问题。这三个变量在我的数据模型中定义为 Float、Date 和 Integer 16,但我不确定这是否相关。
核心数据堆栈全部存在且正确,正如我所说,与其他插入逻辑一起工作得很好。我在这里错过了什么吗?
编辑:从错误输出中可以看出,Core Data 正在尝试保存一个完全不同的 NSManagedObject 子类,我在执行早期使用它,但在此方法调用中没有。为什么会这样?