为了准备所有即将到来的macOS颜色变化(即暗模式),我正在尝试使用xcassets文件中定义的颜色。我通过他们的名字引用颜色:
NSColor(named: NSColor.Name("App Control Foreground Color"))
我希望,如果任何可用资源中不存在指定的颜色名称,则此NSColor初始化程序将返回nil,并且我将能够编写如下代码:
NSColor(named: NSColor.Name("App Control Foreground Color")) ?? NSColor.textColor
相反,如果指定的颜色不存在,则初始化程序会创建一个带有未指定颜色空间的非颜色。反过来,这可以让事情在使用时变得透明,并且不会产生任何警告。
检测捆绑包中是否存在命名颜色以及NSColor(命名:)初始化程序是否给我一个“坏”颜色的好方法是什么?