towry
7/12/2017 - 8:09 AM

associated objects demo in swift. objc_setAssociatedObject, objc_getAssociatedObject

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])