iOS runtime ~ objc_setAssociatedObject 函数关键策略

//联系人:石虎QQ: 1224614774昵称:嗡嘛呢叭咪哄

一、objc_set方法概念

#import

objc_setAssociatedObject(self, &imageURLkey, url,OBJC_ASSOCIATION_RETAIN_NONATOMIC);这四个后面的参数分别表示:源对象,关键字,关联的对象和一个关联策略。

关键策略是一个枚举值。

OBJC_ASSOCIATION_ASSIGN =0,          <指定一个弱引用关联的对象>

OBJC_ASSOCIATION_RETAIN_NONATOMIC =1,<指定一个强引用关联的对象>

OBJC_ASSOCIATION_COPY_NONATOMIC =3,  <指定相关的对象复制>

OBJC_ASSOCIATION_RETAIN =01401,      <指定强参考>

OBJC_ASSOCIATION_COPY =01403<指定相关的对象复制>

二、objc_get方法

objc_getAssociatedObject(self, &imageURLkey);这个来获取关联的对象。

但我们不需要关联时。需要移除关联

objc_setAssociatedObject(self, &imageURLkey,nil, OBJC_ASSOCIATION_ASSIGN);

谢谢!!!

你可能感兴趣的:(iOS runtime ~ objc_setAssociatedObject 函数关键策略)