Imagine that we have some singleton object:
class Singleton {
static var shared = Singleton()
private init() { ... }
}
Am I right that if I don’t keep the reference in some place, it is initialised again and again due to the ARC every time I access it, like this:
Singleton.shared.doSomething()
var a = Singleton.shared.returnSomething()
If I am, where to keep the reference in the iOS app? In classes that use the singleton?
Or in AppDelegate, to ensure using the same instance without repeated initialisation?
>Solution :
By assigning it to a static value you retain the shared instance and don’t need to reinitialise it. Static values exist at class level, not instance level, so are retained, effectively, indefinitely.