【问题标题】:NSColor.init?(cgColor: aCGColor) ambiguous referenceNSColor.init?(cgColor: aCGColor) 模糊引用
【发布时间】:2017-06-18 07:41:34
【问题描述】:

我想使用 func 从现有的 CGColor 中获取 NSColor
NSColor.init?(cgColor: aCGColor) 根据文档

var linienfarbe = CGColor.init(red:0.0,green: 0.0, blue: 1.0,alpha:1.0)
let textfarbe:NSColor = NSColor.init?(cgColor:linienfarbe)

我收到错误:

对成员 'init(colorLiteralRed:green:blue:alpha:) 的模糊引用

出了什么问题?

【问题讨论】:

    标签: swift swift3 type-conversion ambiguous nscolor


    【解决方案1】:

    去掉初始化后的可选位:

    var linienfarbe = CGColor.init(red:0.0,green: 0.0, blue: 1.0,alpha:1.0)
    let textfarbe:NSColor? = NSColor.init(cgColor:linienfarbe)
    

    上面的结果将是一个可选的。

    或者你可以这样做:

    let textfarbe:NSColor = NSColor.init(cgColor:linienfarbe)!
    

    另外,如果您不打算再次更改 linienfarbe,请将其设为不可变的 let

    【讨论】:

    • 非常感谢,这两种解决方案都可以解决问题。我使用文档中的可选选项复制了我的行,但我在这种情况下的知识似乎仍然很差。
    猜你喜欢
    • 1970-01-01
    • 2015-09-04
    • 2016-11-21
    • 1970-01-01
    • 2023-03-17
    • 2011-10-05
    • 2021-11-23
    • 2019-11-01
    • 2016-02-16
    相关资源
    最近更新 更多