ios关联的一些用法

来源:互联网 发布:2015印度软件产值 编辑:程序博客网 时间:2024/06/06 09:01
 

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
原创粉丝点击