objc_setAssociatedObject(btn, "ObjectIdentifier", Object, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
- (void)click:(UIButton *)sender
{
id first = objc_getAssociatedObject(btn, "ObjectIdentifier");
}
第一行是设置btn的关联对象,四个参数分别是,btn,对象标识(用于传参以后找到对象),需要传的对象,最后一个是类似于strong和retain的修饰,为了让对象引用计数加一,不然容易提前释放.
btn响应的事件里面,通过
objc_getAssociatedObject
方法寻找到传递过来的对象。第一个参数就是btn,应该是写sender.第二个参数是之前关联的对象的标识。
OK,结束。