访问UIColor扩展的成员时出错

时间:2018-04-06 08:45:03

标签: swift uicolor swift-extensions

我想将自定义颜色移动到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

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

1 个答案:

答案 0 :(得分:4)

编译器无法知道您指的是其成员 UIColor。任

private static let defaultBorderColor = UIColor.nonSelectedTabColor

private static let defaultBorderColor: UIColor = .nonSelectedTabColor

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