我需要在项目中使用公共属性,以便我可以在应用程序中使用或共享它。 我尝试了很多解决方案,但没有奏效。 我认为它可以使许多事情变得简单和可重复使用。
答案 0 :(得分:3)
您可以使用扩展程序 如
中所述您可以更改以前定义的类属性
例如
extension UIColor {
class var customGreen: UIColor {
let darkGreen = 0x008110
return UIColor.rgb(fromHex: darkGreen)
}
}
答案 1 :(得分:1)
使用iOS设计模式“Singleton”。
它只使用一个类的一个引用,并且相同的属性将反映在整个应用程序中使用它的位置。
答案 2 :(得分:1)
您可以通过声明公开struct
或enum
来创建轻量级“命名空间”。然后,只需添加您的static
vars即可安全地共享它。
作为额外的好处,您可以免费获得线程安全性。 (静态存储属性初始值设定项是线程安全的。)
public enum SharedConstants {
public static var id = "MyID"
public static var hashCode = 12345678
}
顺便说一下,如果要增强现有类型, extensions 就很棒。类型扩展允许您在不修改其原始代码的情况下向类型添加新功能。 然而,如果您只需要一个共同的共享属性,扩展可能不是最佳选择。