假设您使用的是 Swift 4 的@objc
推理,darkGray
必须声明@objc
:
@objc
extension UIColor
{
@objc
public class Scheme1: NSObject {
@objc static var darkGray: UIColor! {
return UIColor(red: 16.0/255.0, green: 16.0/255.0, blue: 19.0/255.0, alpha: 1.0)
}
}
}
您可以darkGray
从 Objective-C 使用Scheme1.darkGray
. Objective-C 不支持嵌套类,因此Scheme1
在顶层导出。
如果您真的想Scheme1
从 Objective-C 以命名空间的方式访问,您可以创建darkGray
一个实例属性并将一个实例存储Scheme1
在您的扩展中:
@objc
extension UIColor
{
@objc
public class Scheme1: NSObject {
@objc var darkGray: UIColor! {
return UIColor(red: 16.0/255.0, green: 16.0/255.0, blue: 19.0/255.0, alpha: 1.0)
}
}
@objc public static var scheme1 = Scheme1()
}
您可以darkGray
使用UIColor.scheme1.darkGray
.