iphone - 为什么在将 Float 转换为 CGFloat 时 Xcode 给我一个警告 "Cannot convert value of type ' CGFloat' to expected argument type 'UnsafeMutablePointer"?

标签 iphone swift swift2 xcode7 uicolor

我正在尝试将 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)

您可以在声明 rgba 后使用单行代码优化您的代码.

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/

相关文章:

iphone - 防止重新加载缓存的 iPhone Web 应用程序(滚动到顶部)

ios - 在 Google Map iOS 上绘制带有多个标记的路线

ios - 如何更改 ARSCNDebugOptions FeaturePoints 的外观?

ios - iPhone 6 上的 iPhone 应用程序时不时切换到后台

ios - XCode Swift 自动完成在构建后崩溃

xcode - 从 Swift 1.2 - 2.0 更新 tableView 代码

iphone - 如何在 cocoa 应用程序中将击键发送到蓝牙连接的 iPhone

iphone - 一遍又一遍地实例化 MPMusicPlayerController。好的/坏的做法

ios - 无论条件如何,我的 iOS Swift 应用程序都在执行 Segue

Swift:如何显示屏幕设备的 DFPBannerView 全宽?