[英]Can I pass parameters to a Singleton class in Swift? And general Singleton use
是否可以將參數傳遞給單例類? 如果是這樣怎么辦?
這是我的單例類之一的片段:
class NotificationManager: NSObject {
static let sharedManager = NotificationManager()
var tabBarController: UITabBarController!
private override init() {
super.init()
}
在這個 Singleton 的情況下,公共屬性tabBarController
在使用之前必須始終設置。
我想知道是否可以在啟動時傳遞正確的UITabBarcontroller
對象,因為我認為這是在實例化我的 Singleton 類時? 這將防止該類被錯誤地實現。 並不是說我曾經期望這會成為一個問題。
另外,在這種情況下使用 Singleton 類是否完全可以? 管理一組特定的操作? 過去我總是傳遞對象,尤其是managedObjectContext
,但是現在我發現單例類可以使大型應用程序中的一切變得更干凈、更好和更安全(因為只有一種立場)。 我可以理解在類之間傳遞對象對於較小的應用程序很好,但是一旦它們變大它就會變得非常混亂。
在我最近的應用程序中,我還在 iOS 和 watchOS 應用程序之間使用了一個共享的 Singleton 類,它定義了一些全局變量,例如服務器端點和環境。 這似乎是定義需要此訪問權限的變量的最佳方式。
我有朋友告訴我單身人士不好用,而且從我的谷歌搜索結果來看,它真的是喜憂參半。 就我而言,它們使我的代碼更易於管理和處理。
謝謝。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.