如何确定捆绑中是否存在命名的NSColor?

时间:2018-06-11 17:33:53

标签: swift macos cocoa nscolor

为了准备所有即将到来的macOS颜色变化(即暗模式),我正在尝试使用xcassets文件中定义的颜色。我通过他们的名字引用颜色:

NSColor(named: NSColor.Name("App Control Foreground Color"))

我希望,如果任何可用资源中不存在指定的颜色名称,则此NSColor初始化程序将返回nil,并且我将能够编写如下代码:

NSColor(named: NSColor.Name("App Control Foreground Color")) ?? NSColor.textColor

相反,如果指定的颜色不存在,则初始化程序会创建一个带有未指定颜色空间的非颜色。反过来,这可以让事情在使用时变得透明,并且不会产生任何警告。

检测捆绑包中是否存在命名颜色以及NSColor(命名:)初始化程序是否给我一个“坏”颜色的好方法是什么?

0 个答案:

没有答案