gpt4 book ai didi

arrays - 在数组中存储值与在 Swift 中创建扩展函数

转载 作者:行者123 更新时间:2023-11-28 10:55:36 25 4
gpt4 key购买 nike

我在一个数组中存储了几个 UIColors 并更改了我的代码以将它们作为函数的返回值作为 UIColor 扩展。

数组版本:

var colors : [UIColor] = [UIColor(red:0.35, green:0.40, blue:0.45, alpha:1.00), UIColor(red:0.38, green:0.78, blue:0.56, alpha:1.00), UIColor(red:0.61, green:0.73, blue:0.38, alpha:1.00)]

扩展版本:

extension UIColor{
class func getColor(level: Double) -> UIColor{
switch level{
case 0:
return UIColor(red:0.35, green:0.40, blue:0.45, alpha:1.00)
case 1:
return UIColor(red:0.38, green:0.78, blue:0.56, alpha:1.00)
case 2:
return UIColor(red:0.61, green:0.73, blue:0.38, alpha:1.00)
default:
return UIColor(red:0.35, green:0.40, blue:0.45, alpha:1.00)
}
}
}

所以我可以使用 UIColor.getColor(level: 0)

而不是 colors[0]

这样做有什么意义吗?有没有更好的办法?

最佳答案

作为另一种选择,您可以将它们全部存储为单独的静态值。 UIColor 已经以这种方式存储了一些颜色(例如,UIColor.red 等同于 UIColor(red: 1, green: 0, blue: 0, alpha : 1)), 所以这样做会更一致。那会给你这个:

extension UIColor {
static let color1 = (red:0.35, green:0.40, blue:0.45, alpha:1.00)
static let color2 = (red:0.38, green:0.78, blue:0.56, alpha:1.00)
static let color3 = (red:0.61, green:0.73, blue:0.38, alpha:1.00)
static let color4 = (red:0.35, green:0.40, blue:0.45, alpha:1.00)
}

关于arrays - 在数组中存储值与在 Swift 中创建扩展函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43896725/

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