访问 UIColor 扩展的成员时出错

Error while accessing members of UIColor extension

我想将自定义颜色移动到 UIColor 的扩展:

extension UIColor {
    static var nonSelectedTabColor: UIColor {
        return UIColor(white: 0.682, alpha: 1) // #AEAEAE
    }
}

但是在尝试访问它时,它导致我出错:

private static let defaultBorderColor = .nonSelectedTabColor

Reference to member 'nonSelectedTabColor' cannot be resolved without a contextual type.

这里有什么问题?我该如何解决这个问题?

编译器无法知道您指的是 UIColor。要么

private static let defaultBorderColor = UIColor.nonSelectedTabColor

private static let defaultBorderColor: UIColor = .nonSelectedTabColor

会解决问题。在第二行,类型 UIColor 是从上下文中推断出来的,.nonSelectedTabColor 是一个“隐式成员表达式”。