正在将我的代码从swift 2.3转换为3.在旧代码中,我通过以下代码创建了一个渐变:
let colours:CFArrayRef = [tColour.CGColor, bColour.CGColor]
let colorSpace = CGColorSpaceCreateDeviceRGB()
let gradient = CGGradientCreateWithColors(colorSpace, colours, nil)
当Xcode 8转换代码时,它将其更改为以下内容:
let colours:CFArray = [tColour.cgColor, bColour.cgColor]
let colorSpace = CGColorSpaceCreateDeviceRGB()
let gradient = CGGradient(colorsSpace: colorSpace, colors: colours, locations: nil)
但是代码会产生以下错误:
上下文类型' CFArray'不能与数组文字一起使用
有人可以建议如何正确转换代码。
谢谢
礼
答案 0 :(得分:20)
投射类型
let colours = [tColour.cgColor, bColour.cgColor] as CFArray
let colorSpace = CGColorSpaceCreateDeviceRGB()
let gradient = CGGradient(colorsSpace: colorSpace, colors: colours , locations: nil)