gpt4 book ai didi

ios - 无法将类型为 'UIColor' 的返回表达式转换为 UIColor 扩展上的返回类型 '[UIColor]'

转载 作者:搜寻专家 更新时间:2023-11-01 06:20:19 27 4
gpt4 key购买 nike

我正在为 UIColor 编写一个简单的扩展,以获取基于 this answer 的十六进制字符串:

import UIKit

extension UIColor {
public static func colorWithString (hex:String) -> UIColor {
var cString:String = hex.stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceAndNewlineCharacterSet()).uppercaseString

if (cString.hasPrefix("#")) {
cString = (cString as NSString).substringFromIndex(1)
}

if (cString.characters.count != 6) {
return UIColor.grayColor()
}

let rString = (cString as NSString).substringToIndex(2)
let gString = ((cString as NSString).substringFromIndex(2) as NSString).substringToIndex(2)
let bString = ((cString as NSString).substringFromIndex(4) as NSString).substringToIndex(2)

var r:CUnsignedInt = 0, g:CUnsignedInt = 0, b:CUnsignedInt = 0;
NSScanner(string: rString).scanHexInt(&r)
NSScanner(string: gString).scanHexInt(&g)
NSScanner(string: bString).scanHexInt(&b)

return UIColor(red: CGFloat(r) / 255.0, green: CGFloat(g) / 255.0, blue: CGFloat(b) / 255.0, alpha: CGFloat(1))
}
}

现在我可以清楚地看到返回类型是UIColor,但是当我尝试使用它时:

UIColor.colorWithString("F9264E")

我得到:

Cannot convert return expression of type 'UIColor' to return type '[UIColor]'

这是怎么回事?

最佳答案

您需要发布使用您的扩展的完整声明。我的猜测是你正在做一个赋值,你赋值的变量是 UIColor 类型的数组:

var colors: [UIColor]

colors = UIColor.colorWithString("F9264E")

这将为您提供所报告的确切错误。

相反,您需要这样的代码:

colors = [UIColor.colorWithString("F9264E")]

var colors = [UIColor]()
colors.append(UIColor.colorWithString("F9264E"))

关于ios - 无法将类型为 'UIColor' 的返回表达式转换为 UIColor 扩展上的返回类型 '[UIColor]',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34866694/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com