通过btn传递两个实例对象
来源:互联网 发布:项羽跟虞姬 知乎 编辑:程序博客网 时间:2024/05/19 13:56
通过btn传递两个实例对象 firstObject和secondObject
UIButton *btn = // create the buttonobjc_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");
第一个参数:为被关联者
第二个参数:为关联对象的指针。
来自:button with multiparameters
0 0
- 通过btn传递两个实例对象
- iOS开发-通过btn传递两个实例对象 firstObject和secondObject
- Android:通过Intent在两个Activity之间传递对象(Parcelable)
- 通过intent传递对象
- 通过inten传递对象
- android中通过实现Parcelable来在两个页面之间传递对象的简单使用
- 两个Activity之间传递对象
- apache HttpClients实例,传入json对象。对应的springMvc通过HandlerMethodArgumentResolver解析两个对象绑定
- 通过Http协议传递对象
- 通过套接字传递对象
- Android 通过intent 传递对象
- Android 通过Intent 传递对象
- 通过Intent传递类对象
- 通过Intent 传递类对象
- 通过Intent传递类对象
- 通过 Intent 传递类对象
- 通过 Intent 传递类对象
- 通过 Intent 传递类对象
- Junit 抛出错误 java.lang.NoClassDefFoundError: Could not initialize class org.springframework.test.conte
- webpack入门(五)
- Json对象与Json字符串互转(4种转换方式)表单提交和表单序列化
- JS 中 && 和 || 区别与联系,
- (小技巧)Sql server查看sql语句的执行时间
- 通过btn传递两个实例对象
- astgo-官方功能更新日志
- WinForm maida player控件常用属性
- 说说Android桌面(Launcher应用)背后的故事(四)——揭秘Workspace
- for循环嵌套制作九九乘法表
- webpack入门(六)——html-webpack-plugin
- SQL Server 触发器
- iOS ReactiveCocoa
- 题目1125:大整数的因子