swift - NSColor.init?(cgColor : aCGColor) ambiguous reference

标签 swift swift3 type-conversion ambiguous nscolor

我想从现有的 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)

我收到错误:

Ambiguous reference to member 'init(colorLiteralRed:green:blue:alpha:)

出了什么问题?

最佳答案

去掉初始化后的可选位:

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

关于swift - NSColor.init?(cgColor : aCGColor) ambiguous reference,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44612771/

相关文章:

c++ - 将 struct 转换为 unsigned char *

java - 从字符串转换日期带来错误的值

swift - swift inout参数是变量还是指针?

ios - 滚动指示器在 collectionView 中不可见

ios - UIScrollView 大小问题

c# - 从数组创建列表的效率

ios - 底部的 Swift Chart 月份

ios - 自动完成搜索 Swift 的 Google 说明

ios - UIPanGestureRecognizer 没有启动。 swift 3

objective-c - 自动生成的 Swift-Header 在 Xcode 8 中损坏