objc_getAssociatedObject/objc_setAssociatedObjectを使ってUIViewにプロパティーを追加してみました。
追加は下のように行います。
var key = "key" extension UIView { var prop: String { get { return objc_getAssociatedObject( self, &key) as? String ?? "" } set { objc_setAssociatedObject( self, &key, newValue, .OBJC_ASSOCIATION_COPY_NONATOMIC) } } }
うまくセットされました。
class ViewController: UIViewController { override func viewDidLoad() { print(view.prop) // → 空文字 view.prop = "AAA" print(view.prop) // → AAA } }