[英]Making sure singleton properties aren't accessible via other instance
我有一個單例課程:
final class NotificationSingleton : NSObject {
static let sharedInstance = NotificationSingleton()
var aProperty: String!
var anotherProperty: Int!
}
我怎樣才能確保aProperty
和anotherProperty
只能通過訪問sharedInstance
?
您可以將初始化程序設為私有,因此無法創建其他實例
private override init() {}
一旦設置了sharedInstance
就可以使用失敗的初始化程序來阻止創建其他NotificationSingleton
實例。
我懷疑這種防御性編程實際上會使該類在將來被其他開發人員使用時變得敵對,難以測試,並且可能存在更清潔的解決方案,該解決方案不依賴單例作為全局變量,而是您可以使用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.