Objective-C Associated Objects
suggest changeIntroduction
First introduced in iOS 3.1 as part of the Objective-C runtime, associated objects provide a way to add instance variables to an existing class object (w\o subclassing.
This means you’ll be able to attach any object to any other object without subclassing.
Syntax
- void objc_setAssociatedObject(id object, void *key, id value, objc_AssociationPolicy policy)
- id objc_getAssociatedObject(id object, void *key)
- void objc_removeAssociatedObjects(id object)
Parameters
| Param | Details | | —— | —— | | object | The existing object you want to modify | | key | This can basically be any pointer that has a constant memory address, but a nice practice is to use here a computed property (getter) | | value | The object you want to add | |policy | The memory policy for this new value
i.e. should it be retained / assigned, copied etc.. just like any other property you’d declare|
Remarks
More details here:
[@kostiakoval](https://medium.com/@kostiakoval/objective-c-associated-objects-8896854c681b#.i0p22bcl6)