我在尝试设置属性时收到NSObject doesNotRecognizeSelector错误,但我不确定原因。
错误发生在setWithNSColor的第一行。我有点困惑,如何才能识别出合理合成的属性。
@interface ScopeColor : NSObject {
NSString *colorIntegerString;
float redColor;
float greenColor;
float blueColor;
NSString *name;
}
@property (readwrite, assign) NSString *colorIntegerString;
@property (readwrite, assign) float redColor;
@property (readwrite, assign) float greenColor;
@property (readwrite, assign) float blueColor;
@property (readwrite, assign) NSString *name;
-(void)setWithNSColor:(NSColor *)inColor
{
self.redColor=[inColor redComponent];
self.greenColor=[inColor greenComponent];
self.blueColor=[inColor blueComponent];
}
答案 0 :(得分:3)
你确定它是你的班级而不是NSColor会引发异常吗?如果NSColor对象不属于要求redComponent的NSCalibratedRGBColorSpace或NSDeviceRGBColorSpace,则会引发异常。
答案 1 :(得分:0)
您是否在包含的代码之外的某处合成了红色,绿色和蓝色?此外,原始值(例如浮点数)不需要assign关键字。