我是新手,尝试快速创建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实例上调用它:
UIColor
let col = UIColor().getCustomBlueColor() // or in your case: btnShare.setTitleColor(UIColor().getCustomBlueColor(), forState: .Normal)
发生编译器错误“缺少参数”是因为 实例方法是Swift中的Curried Function,因此可以等效地称为
let col = UIColor.getCustomBlueColor(UIColor())()
(但这是一件奇怪的事情,我添加它只是为了解释错误消息的来源。)
但是,您真正想要的是 类型方法 (class func)
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实例。