This one is pretty straightforward. The singleton design pattern is used whenever there is a class where only one object is allowed to exist at any time. UIApplication is one example that uses this pattern.

Example

It is pretty straightforward as well to make a class with only one instance of itself. One way to do it is to create a static variable to hold the object and declare init to be private.

public class Singleton {
    public static let shared = Singleton()
    private init() { }
}


References