Is this a possible way to make shorter singletons without shared instance? Why people are creating a shared instance var instead of using this way?
Simple:
class Singleton {
static var someVar = "Cool it works!"
class func execute() {
print(someVar)
}
Singleton.execute()
Singleton.someVar = "var changed"
Singleton.execute()
// console:
// Cool it works!
// var changed
Handlers:
class Singleton {
static var someVar = "Some Var passed to the handler"
class func execute(handler:(String)->String) {
let varReturnedFromHandler = handler(someVar)
print(varReturnedFromHandler)
}
}
Singleton.execute { (varFromFunction:String) in
print(varFromFunction)
return "Returned var from handler"
}
// console:
// Some Var passed to the handler
// Returned var from handler