我正在使用 Core Data,并且有一个托管对象,其描述表明其数据有错误。
我尝试使用点语法访问属性,但它为零。
如果我使用 -[object valueForKey:@"key"]; 对象会引发错误,我会得到正确的值。
从那时起,我可以使用 object.key 进行访问,并且它可以工作。
为什么即使访问属性后对象数据仍然错误?
编辑: 首先,我想补充一点,所讨论的属性是 NSDictionary 类型,并在模型中定义为 Transformable。
代码很简单:
NSDictionary *d = object.property;
其中 object 是由 CoreData 管理的 NSManagedObject。此行之后 d 为零。
NSDictionary *d = [object valueForKey:@"property"];
此行之后的 d 是正确的值。
最佳答案
不久前见过类似的问题。模型类的属性使用 @synthesize 而不是 @dynamic。
关于ios - 核心数据 - 为什么即使在访问属性后对象数据仍然存在错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12299001/