ios关联的一些用法

 

1. 关联是指把两个对象相互关联起来,使得其中的一个对象作为另外一个对象的一部分。 在不修改类的定义而为其对象增加存储空间。
参数有四个,第一个为源对象。第二个为关联关键字。第三个关联的对象。第四个为关联策略(是一个enum)
创建关联:
objc_setAssociatedObject (imgView, & key , urlstr,    OBJC_ASSOCIATION_ASSIGN );

获取相关联的对象
NSString*url =objc_getAssociatedObject(imgview,&key);

断开关联有两种方式:
1.使用 objc_setAssociateObjiect (imgView,& key , nil,    OBJC_ASSOCIATION_ASSIGN ); 使用同样的关联关键字。将被关联的对象置为nil.此时的关联策略也无关紧要了

2.也可以使用 objc_removeAssociatedObjects。 可以断开所有关联。通常情况下不建议使用这个函数,因为他会断开所有关联。只有在需要把对象恢复到“原始状态”的时候才会使用这个函数。

关键字是一个viod类型的指针。 每一个关联的关键字必须是唯一的。通常都是会采用静态变量来作为关键字。可以这样写  const  void *key;或者
static char key;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值