associated objects demo in swift. objc_setAssociatedObject, objc_getAssociatedObject
// So associated objects just store object in anoter place, use property to
// associate the object with the class object.
import Foundation
let data: Data?
var dataKey: Void?
data = Data(count: 10)
data?.insert(9, at: 0)
class TestAssocicateObject {
init() {}
}
let a = TestAssocicateObject()
objc_setAssociatedObject(a, &dataKey, data, .OBJC_ASSOCIATION_RETAIN_NONATOMIC)
let b: Data? = objc_getAssociatedObject(a, &dataKey) as? Data
print(b![0])