【发布时间】:2009-02-21 02:41:54
【问题描述】:
我在视图中使用一种方法来设置颜色,在 awakeFromNib 中我使用 [NSColor colorWithCalibratedRed: 绿色: 蓝色: alpha:]
应用程序不断崩溃,出现“[NSCFNumber set] unrecognized selector”错误。 插入断点后,我发现它正在将我的变量定义为“NSCalibratedRGBColor”。当我使用一种方便的方法(blueColor、whiteColor 等)定义颜色时,该应用程序工作。我认为这些只是设置 RGB 值的捷径。我不知道为什么我以前没有遇到过这个问题,我经常使用这样的颜色。为什么它的处理方式不同,我可以让它解释为常规颜色吗?
编辑: 代码是: [self setLineColor:[NSColor colorWithCalibratedRed:green:blue:alpha];在我的 awakeFromNib 中。我还发现它是一个非 1 的 alpha 值,导致颜色被定义为“NSCalibratedRGBColor”。 Alpha 值 1 与便捷方法一样,会导致在调试中将颜色定义为“NSCachedRGBColor”,这完全可以正常工作。
【问题讨论】:
标签: objective-c cocoa