ios - swift 扩展不工作

标签 ios swift xcode6 objective-c-category

我已经为我在整个应用程序中使用的某些颜色添加了 UIColor 扩展。这是一个例子:

extension UIColor {
    func appLightGrayColor() -> UIColor {
    return UIColor(red: 190.0/255.0, green: 190.0/255.0, blue: 190.0/255.0, alpha: 1.0)
    }

    func grayScaleColor(grayScale : CGFloat) -> UIColor {
    return UIColor(red: grayScale/255.0, green: grayScale/255.0, blue: grayScale/255.0, alpha: 1.0)
    }
}

但是,当我尝试调用它时,我能够正确编译的唯一方法是:

UINavigationBar.appearance().barTintColor = UIColor.appLightGrayColor(UIColor())()

这是我使用自动完成功能得到的结果:

enter image description here

我做错了什么?

最佳答案

你已经添加了实例方法,但你真正想要的是class method

extension UIColor {
    class func appLightGrayColor() -> UIColor {
    return UIColor(red: 190.0/255.0, green: 190.0/255.0, blue: 190.0/255.0, alpha: 1.0)
    }

    class func grayScaleColor(grayScale : CGFloat) -> UIColor {
    return UIColor(red: grayScale/255.0, green: grayScale/255.0, blue: grayScale/255.0, alpha: 1.0)
    }
}

关于ios - swift 扩展不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24375843/

相关文章:

ios - 在 Objective-C 中计算广播地址

ios - 自定义单元格错误添加目标按钮

xcode - 成功提交ios应用程序二进制文件仍然在itunes连接状态显示准备提交

ios - BSXPCMessage 收到消息 : Connection interrupted 的错误

ios - 播放音频文件到 iOS 模拟器麦克风

ios - 如何以正确的方式解析 IOS SWIFT 3 中的 Google Distance Matrix API JSON

ios - 使用 Alamofire 上传图像时崩溃

ios - 为什么我的 UIBarButtonItem 不调用我的自定义函数?

ios - Alamofire:如何获取部分响应 JSON

ios - 检测 Touch ID 已启用