獨生子
單例是一種經常使用的設計模式,它由在整個程式中共享的類的單個例項組成。
在下面的示例中,我們建立了一個 static
屬性,該屬性包含 Foo
類的例項。請記住,static
屬性在類的所有物件之間共享,並且不能被子類化覆蓋。
public class Foo
{
static let shared = Foo()
// Used for preventing the class from being instantiated directly
private init() {}
func doSomething()
{
print("Do something")
}
}
用法:
Foo.shared.doSomething()
一定要記住 private
初始化程式:
這可以確保你的單例真正獨一無二,並通過訪問控制防止外部物件建立自己的類例項。由於所有物件都帶有 Swift 中的預設公共初始化程式,因此你需要覆蓋 init 並將其設為私有。 KrakenDev