CGColorSpaceRef 不是 Swift 中的 AnyObject 吗?

Is CGColorSpaceRef not an AnyObject in Swift?

Xcode 7.0 抱怨我的 Swift 声明:

let options : [String : AnyObject] = [kCIContextWorkingColorSpace : CGColorSpaceCreateDeviceRGB(), kCIContextUseSoftwareRenderer : true]

(options是一个Core Image CIContext对象初始化的参数)

并显示错误消息:"Type of expression is ambiguous without more context"

当我将代码更改为

let options : [String : AnyObject] = [kCIContextWorkingColorSpace : CGColorSpaceCreateDeviceRGB() as CGColorSpace?, kCIContextUseSoftwareRenderer : true]

错误消息消失了,但 Xcode 仍然有问题,现在显示编译器错误:"Command failed due to signal: Segmentation fault: 11".

那么,我怎样才能在 Swift 2.0 中正确编写语句?

您必须打开 CGColorSpace。这是 safe 工作示例:

var options = [String: AnyObject]()

if let colorspace = CGColorSpaceCreateDeviceRGB() {
    options = [kCIContextWorkingColorSpace: colorspace]
}

let context = CIContext(options: options)