我有一个名为“Color”的实体,它存储了 R、G、B,以及一个根据需要返回饱和度、UIColor 等的子类。我最近写了一些代码,我需要将 Color 实体作为“Color”类,这样我就可以在它上面调用一个方法。
但似乎打破了另一部分。
在存储颜色之前,我使用 Color 类根据 Color 类中的方法确定要存储的颜色。这是我遇到问题的地方。
Color *color = [[Color alloc] initWithColor:[UIColor whiteColor]];
if (color.saturation > 0.2) {
[self addOrIncrementColor:color];
}
在 if 语句中,调试器显示:
color Color * 0x1f532740
NSManagedObject NSManagedObject
red CGFloat 0.392157
green CGFloat 0.443137
blue CGFloat 0.203922
count __NSCFNumber * 0x1f559d00
color UIDeviceRGBColor * 0x200e8f10
saturation CGFloat 0.539823
但是,如果我打印 Color 对象的描述,我会得到:
Color: 0x1f532740 (entity: (null); id: (null) ; data: {})
当然,这会将颜色对象传递给带有 null 信息的 addOrIncrement: 方法,即使它是在本地设置的。
知道我怎样才能让它工作吗?