这令我感到困惑......我正在尝试为NSColor
创建一个便利初始化程序,它使CGColor
成为一个,但由于某些原因,它只是拒绝承认{{1}存在!我导入了CGColor
,为了理智我还导入了Cocoa
甚至CoreGraphics
但仍然没有运气!
谁能告诉我我做错了什么?清洁和重建无济于事......
答案 0 :(得分:4)
正如评论中已经说过的,
NSColor
有一个init(cgColor:)
初始值设定项
使你的问题过时。
但是因为你问为什么它不能编译:
原因是NSColor
有一个CGColor
属性,与CGColor
类型冲突。
作为解决方法,可以使用CGColorRef
别名:
extension NSColor {
convenience init(_ cgColor: CGColorRef) {
// ...
}
}
正如Eric Aya所说,Xcode 8 beta 4不存在该问题。原因是NSColor
属性已重命名为cgColor
,并且与CGColor
不冲突再打一次,
答案 1 :(得分:2)
Xcode在这里显然行为不端。解决方法:在签名中使用完整类型。
convenience init(_ cgColor: CoreGraphics.CGColor)