objc_setAssociatedObject

http://www.cnblogs.com/xieyulin/p/7060513.html

关联对象与被关联对象本身的存储并没有直接的关系,它是存储在单独的哈希表中的;

关联对象的五种关联策略与属性的限定符非常类似,在绝大多数情况下,我们都会使用 OBJC_ASSOCIATION_RETAIN_NONATOMIC 的关联策略,这可以保证我们持有关联对象;

关联对象的释放时机与移除时机并不总是一致,比如实验中用关联策略 OBJC_ASSOCIATION_ASSIGN进行关联的对象,很早就已经被释放了,但是并没有被移除,而再使用这个关联对象时就会造成 Crash 。

你可能感兴趣的:(objc_setAssociatedObject)