Xcode CGColorSpaceRef不是Swift中的任何对象吗?

Xcode CGColorSpaceRef不是Swift中的任何对象吗?,xcode,swift,dictionary,segmentation-fault,core-image,Xcode,Swift,Dictionary,Segmentation Fault,Core Image,Xcode 7.0抱怨我的Swift声明: let options : [String : AnyObject] = [kCIContextWorkingColorSpace : CGColorSpaceCreateDeviceRGB(), kCIContextUseSoftwareRenderer : true] 选项用于核心图像CIContext对象初始化的参数 并显示错误消息:表达式类型不明确,没有更多上下文 当我将代码更改为 let options : [String : AnyObj

Xcode 7.0抱怨我的Swift声明:

let options : [String : AnyObject] = [kCIContextWorkingColorSpace : CGColorSpaceCreateDeviceRGB(), kCIContextUseSoftwareRenderer : true]
选项用于核心图像CIContext对象初始化的参数

并显示错误消息:表达式类型不明确,没有更多上下文

当我将代码更改为

let options : [String : AnyObject] = [kCIContextWorkingColorSpace : CGColorSpaceCreateDeviceRGB() as CGColorSpace?, kCIContextUseSoftwareRenderer : true]
错误消息已消失,但Xcode仍有问题,现在显示编译器错误:由于信号:分段错误:11,命令失败

那么,如何在Swift 2.0中正确编写语句呢?

您必须打开CGColorSpace。以下是安全工作示例:

var options = [String: AnyObject]()

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

let context = CIContext(options: options)

对非常感谢。或者将选项作为常量:let space=CGColorSpaceCreateDeviceGB let options:[String:AnyObject]=[kCIContextWorkingColorSpace:space!]是否有其他安全的方法将选项作为常量?我是Swift的初学者…@markus7335你应该始终记住,如果苹果宣布该颜色空间是可选的,在某些情况下它可能返回nil,强行展开它会使整个应用程序崩溃。