Attempting to create a pure swift extension with support for stored properties.
import UIKit
extension UIViewController {
struct Holder {
static var _myComputedProperty:Bool = false
}
var myComputedProperty:Bool {
get {
return Holder._myComputedProperty
}
set(newValue) {
Holder._myComputedProperty = newValue
}
}
}
extension UIViewController {
private struct Holder {
static var _myComputedProperty = [String:Bool]()
}
var myComputedProperty:Bool {
get {
return Holder._myComputedProperty[self.debugDescription] ?? false
}
set(newValue) {
Holder._myComputedProperty[self.debugDescription] = newValue
}
}
}
extension UIViewController {
private static var _myComputedProperty = [String:Bool]()
var myComputedProperty:Bool {
get {
let tmpAddress = String(format: "%p", unsafeBitCast(self, to: Int.self))
return UIViewController._myComputedProperty[tmpAddress] ?? false
}
set(newValue) {
let tmpAddress = String(format: "%p", unsafeBitCast(self, to: Int.self))
UIViewController._myComputedProperty[tmpAddress] = newValue
}
}
}