gpt4 book ai didi

iphone - 核心数据 : Save failing on mandatory field, 但应该设置值!

转载 作者:行者123 更新时间:2023-12-03 20:29:41 27 4
gpt4 key购买 nike

我有一个名为Block的抽象实体,它包含两个属性:columnorder(它们不是可选的),以及一个关系, thing,它是 1->M 的详细信息。我有另一个实体 Whatever,它以 Block 作为其父级,并添加一个属性 someNumber

我的代码如下所示:

Whatever *block = (Whatever *)[NSEntityDescription insertNewObjectForEntityForName:@"Whatever" inManagedObjectContext:managedObjectContext];
block.order = 0;
block.column = 0;
block.thing = self.thing;

当我尝试保存时,出现此错误:

Failed to save to data store: Operation could not be completed. (Cocoa error 1560.)
DetailedError: {
NSLocalizedDescription = "Operation could not be completed. (Cocoa error 1570.)";
NSValidationErrorKey = column;
NSValidationErrorObject = <Whatever: 0x5124890> (entity: someWhatever; id: 0x511b4e0 <x-coredata:///Whatever/t718B63A4-927B-4D88-A9E6-7F61CF9621675> ;
data: {
column = nil;
thing = 0x54367a0 <x-coredata://E6648244-E5FC-4202-B5F9-C7A91BACF8DA/Thing/p2>;
order = nil;
someNumber = 0;
});

我不明白为什么它说 columnordernil,因为我刚刚在之前设置了它们,所以这应该不是问题。

我也尝试过使用 [block setColumn:0] 样式,但没有成功。

如有任何帮助,我们将不胜感激。谢谢!

最佳答案

您将它们设置为 nil,因为 nil 只是一个空或零指针值。

核心数据属性必须设置为对象(而不是原始类型)。

整数和 float 是 NSNumber 对象。

我喜欢使用 numberWith* 便捷构造函数。

例如:

block.order = [NSNumber numberWithInteger:0];
block.column = [NSNumber numberWithInteger:0];

关于iphone - 核心数据 : Save failing on mandatory field, 但应该设置值!,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2397373/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com