[swift] Using a dispatch_once singleton model in Swift

If you are planning on using your Swift singleton class in Objective-C, this setup will have the compiler generate appropriate Objective-C-like header(s):

class func sharedStore() -> ImageStore {
struct Static {
    static let instance : ImageStore = ImageStore()
    }
    return Static.instance
}

Then in Objective-C class you can call your singleton the way you did it in pre-Swift days:

[ImageStore sharedStore];

This is just my simple implementation.