gpt4 book ai didi

ios - 如何在 Swift 中访问 UIColor 的扩展?

转载 作者:IT王子 更新时间:2023-10-29 05:12:41 27 4
gpt4 key购买 nike

我是 swift 的新手,正在尝试创建 UIColor 类的扩展

extension UIColor{

func getCustomBlueColor() -> UIColor {
return UIColor(red:0.043, green:0.576 ,blue:0.588 , alpha:1.00)
}

}

在此之后我访问了该方法

btnShare.setTitleColor(UIColor.getCustomBlueColor(**UIColor**), forState: UIControlState.Normal)

我不知道我应该将什么作为参数传递给这个语句。

最佳答案

你已经定义了一个实例方法,这意味着你可以调用它仅在 UIColor 实例上:

let col = UIColor().getCustomBlueColor()
// or in your case:
btnShare.setTitleColor(UIColor().getCustomBlueColor(), forState: .Normal)

编译器错误“missing argument”的发生是因为 Instance Methods are Curried Functions in Swift ,所以它可以等效地称为

let col = UIColor.getCustomBlueColor(UIColor())()

(但这将是一件奇怪的事情,我只是将它添加到解释错误消息的来源。)


但你真正想要的是一个类型方法(class func)

extension UIColor{
class func getCustomBlueColor() -> UIColor{
return UIColor(red:0.043, green:0.576 ,blue:0.588 , alpha:1.00)
}
}

它被称为

let col = UIColor.getCustomBlueColor()
// or in your case:
btnShare.setTitleColor(UIColor.getCustomBlueColor(), forState: .Normal)

无需先创建一个 UIColor 实例。

关于ios - 如何在 Swift 中访问 UIColor 的扩展?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29648348/

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