2017-11-11 112 views

回答

1

使用iOS设计模式“Singleton”
它只对一个类使用一个引用,同一个属性会反映出你在整个应用中使用它的地方。

参考:https://thatthinginswift.com/singletons/

+2

尽可能避免单身人士。 这里是一个视频教程,说明单身人士的问题 - 以及如何解决它们:https://youtu.be/Uf0s3LTaj3k 顺便说一句,Singleton是*不* iOS设计模式。这是几十年前由“四人帮”制定的标准之一。甚至作者认为辛格尔顿是一件邪恶的事情。现在我们对这个问题有了更好的解决方案,例如依赖注入。 –

1

您可以通过声明公开的structenum来创建轻量级的“名称空间”。然后,只需添加你的static变量,你就可以安全地分享它。 作为一个额外的好处,你可以免费获得线程安全。 (静态存储的属性初始化是线程安全的。)

public enum SharedConstants { 
    public static var id = "MyID" 
    public static var hashCode = 12345678 
} 

顺便说一句,扩展,如果你想提高现有类型是巨大的。类型扩展允许您在不修改其原始代码的情况下向类型添加新功能。 但是,如果您只需要共享共享属性,则扩展可能不是最佳选择。