2017-11-11 114 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 
} 

順便說一句,擴展,如果你想提高現有類型是巨大的。類型擴展允許您在不修改其原始代碼的情況下向類型添加新功能。 但是,如果您只需要共享共享屬性,則擴展可能不是最佳選擇。