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)
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)