关闭

iOS 关于objc_setAssociatedObject,objc_getAssociatedObject

509人阅读 评论(0) 收藏 举报
分类:

void objc_setAssociatedObject(id object,constvoid *key,id value,objc_AssociationPolicy policy) 

该函数需要四个参数:源对象,关键字,关联的对象和一个关联方法,

这个方法是将两个对象实现关联;也就是将object 与  value 相关连起来 void *key 是关联的标示符,如同字典的key值一样 ,通过key 也可以将  value 取出;

objc_AssociationPolicy policy ;存储方式 ,就如assgin ,return ,copy 的道理是一样的 。


id objc_getAssociatedObject(id object,constvoid *key)  这个是get方法,上面是set方法,const void *key 的key 便是上面关联的key ; id object 还是不变的 ,这样通过key 就可以取出  id value,


调用这个方法只需导入头文件 #import<objc/runtime.h>  ,一般在类别的队列使用比较多 。 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:27153次
    • 积分:1069
    • 等级:
    • 排名:千里之外
    • 原创:80篇
    • 转载:9篇
    • 译文:1篇
    • 评论:0条