objc_setAssociatedObject中的原子策略

时间:2014-01-28 23:23:23

标签: objective-c

设置对象时,我看不到原子的任何政策( OBJC_ASSOCIATION_RETAIN_NONATOMIC )?

objc_setAssociatedObject(self, ObjectTagKey, newObjectTag, OBJC_ASSOCIATION_RETAIN_NONATOMIC);

或者它是默认的,因此我不必关心线程安全吗?

由于

1 个答案:

答案 0 :(得分:0)

OBJC_ASSOCIATION_RETAIN正是您要找的。

供参考,以下是所有可能的值(来自objc/runtime.h):

enum {
    OBJC_ASSOCIATION_ASSIGN = 0,           
    OBJC_ASSOCIATION_RETAIN_NONATOMIC = 1, 
    OBJC_ASSOCIATION_COPY_NONATOMIC = 3,   
    OBJC_ASSOCIATION_RETAIN = 01401,       
    OBJC_ASSOCIATION_COPY = 01403          
};