iOS开发-通过btn传递两个实例对象 firstObject和secondObject
来源:互联网 发布:pro怎么拆卸软件 编辑:程序博客网 时间:2024/06/15 13:36
UIButton *btn = // create the button
objc_setAssociatedObject(btn, "firstObject", someObject, OBJC_ASSOCIATION_RETAIN_NONATOMIC);objc_setAssociatedObject(btn, "secondObject", otherObject, OBJC_ASSOCIATION_RETAIN_NONATOMIC);[btn addTarget:self action:@selector(click:) forControlEvents:UIControlEventTouchUpInside];- (void)click:(UIButton *)sender{ id first = objc_getAssociatedObject(btn, "firstObject"); id second = objc_setAssociatedObject(btn, "secondObject"); // etc.}
向以上方法那样,只要设置了关联,当把button传递给@selector的参数时,也顺便把另外两个参数也传递过去了。就类似设了button的两个属性,但是这种方法简单多了
第一步: 设定关联
objc_setAssociatedObject(btn, "firstObject", someObject, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
第一个参数:btn为被关联者(主体),第二个参数:
firstObject为指向关联的对象的指针(一般为一个static字符串),第三个参数:关联的对象实例,第四个对象:关联的方式(有几种,类似设定.h文件属性时候的 assign,retain等)第二步:得到关联的对象
id first = objc_getAssociatedObject(btn, "firstObject");
第一个参数:为被关联者
第二个参数:为关联对象的指针。
0 0
- iOS开发-通过btn传递两个实例对象 firstObject和secondObject
- 通过btn传递两个实例对象
- firstObject 和 [0]的区别-iOS初学
- ios中数组的 firstObject 和 [0]的区别
- iOS -- btn
- iOS-- 键盘next 和 点击 Btn
- 两个Activity传递数据和对象
- 两个Activity传递数据和对象
- ajax传递两个对象和传数组
- Android:通过Intent在两个Activity之间传递对象(Parcelable)
- firstobject
- ios - firstObject vs objectAtIndex:0
- 通过传址来传递和返回对象
- 通过传址来传递和返回对象
- Activity通过Intent传递对象和参数
- iOS---设置btn边框
- 通过intent传递对象
- 通过inten传递对象
- POJ 1284 Primitive Roots 原根个数
- Qt5以上QMYSQL driver not loaded问题
- TopCoder SRM606 DIV1 250
- 中文分词技术(中文分词原理)
- leetcode第一题~~~Counting Bits
- iOS开发-通过btn传递两个实例对象 firstObject和secondObject
- 请求编码
- C++ 个人所得税
- 图示经典算法--选择排序
- 状态模式
- ClassLoader源码
- Reverse Nodes in k-Group
- C#读取CSV文件到DataTable
- 正则表达式