RosettaCodeData/Task/Add-a-variable-to-a-class-instance-at-runtime/Swift/add-a-variable-to-a-class-instance-at-runtime.swift
2016-12-05 23:44:36 +01:00

16 lines
344 B
Swift

import Foundation
let fooKey = UnsafeMutablePointer<UInt8>.alloc(1)
class MyClass { }
let e = MyClass()
// set
objc_setAssociatedObject(e, fooKey, 1, .OBJC_ASSOCIATION_RETAIN)
// get
if let associatedObject = objc_getAssociatedObject(e, fooKey) {
print("associated object: \(associatedObject)")
} else {
print("no associated object")
}