我正在尝试将 Float 值转换为 CGFloat 值,这里是我的代码:
let myFloatForR = 0
let r = CGFloat(myFloatForR)
let myFloatForG = 0
let g = CGFloat(myFloatForG)
let myFloatForB = 0
let b = CGFloat(myFloatForB)
let myFloatForA = 0
let a = CGFloat(myFloatForA)
tintColor.getRed(r, green:&g, blue:&b, alpha:&a)
但 Xcode 突然给我一个警告说:“无法将类型 'CGFloat' 的值转换为“tintColor”行上的预期参数类型 'UnsafeMutablePointer”? 谁能帮帮我?
最佳答案
您需要将 CGFloat
对象更改为 var
而不是 let
并在 getRed中传递红色值的指针对象
方法。
更新代码
let myFloatForR = 0
var r = CGFloat(myFloatForR)
let myFloatForG = 0
var g = CGFloat(myFloatForG)
let myFloatForB = 0
var b = CGFloat(myFloatForB)
let myFloatForA = 0
var a = CGFloat(myFloatForA)
tintColor.getRed(&r, green:&g, blue:&b, alpha:&a)
或
您可以在声明 r
、g
、b
和 a
后使用单行代码优化您的代码.
var r: CGFloat = 0, g: CGFloat = 0, b: CGFloat = 0, a: CGFloat = 0
tintColor.getRed(&r, green:&g, blue:&b, alpha:&a)
关于iphone - 为什么在将 Float 转换为 CGFloat 时 Xcode 给我一个警告 "Cannot convert value of type ' CGFloat' to expected argument type 'UnsafeMutablePointer"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33351612/