iOS开发-通过 objc_setAssociatedObject alert 和 button关联 及传值
来源:互联网 发布:周灏 金融大数据 编辑:程序博客网 时间:2024/05/22 03:01
/唯一静态变量key
static const char associatedkey;
static const char associatedButtonkey;
- (IBAction)sendAlert:(id)sender
{
NSString *message =@"我知道你是按钮了";
UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"提示" message:@"我要传值" delegate:self cancelButtonTitle:@"确定" otherButtonTitles:nil];
alert.delegate =self;
[alert show];
//#import <objc/runtime.h>头文件
//objc_setAssociatedObject需要四个参数:源对象,关键字,关联的对象和一个关联策略。
//1 源对象alert
//2 关键字 唯一静态变量key associatedkey
//3 关联的对象 sender
//4 关键策略 OBJC_ASSOCIATION_RETAIN_NONATOMIC
objc_setAssociatedObject(alert, &associatedkey, message,OBJC_ASSOCIATION_RETAIN_NONATOMIC);
objc_setAssociatedObject(alert, &associatedButtonkey, sender,OBJC_ASSOCIATION_RETAIN_NONATOMIC);
}
-(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
//通过 objc_getAssociatedObject获取关联对象
NSString *messageString =objc_getAssociatedObject(alertView, &associatedkey);
UIButton *sender = objc_getAssociatedObject(alertView, &associatedButtonkey);
_labebutton.text = [[sender titleLabel]text];
_ThisLabel.text = messageString;
//使用函数objc_removeAssociatedObjects可以断开所有关联。通常情况下不建议使用这个函数,因为他会断开所有关联。只有在需要把对象恢复到“原始状态”的时候才会使用这个函数。
}
- iOS开发-通过 objc_setAssociatedObject alert 和 button关联 及传值
- 通过 objc_setAssociatedObject alert 和 button关联 及传值
- 学习笔记:通过 objc_setAssociatedObject alert 和 button关联 及传值
- objc_setAssociatedObject通过alert传值
- objc_setAssociatedObject通过alert传值
- objc_setAssociatedObject通过alert传值
- objc_setAssociatedObject通过alert传值
- iOS关联(objc_setAssociatedObject)
- iOS关联,objc_getAssociatedObject, objc_setAssociatedObject
- iOS项目开发实战(Swift)—Button和Alert学习
- 【iOS开发技术】对象关联(objc_setAssociatedObject、objc_getAssociatedObject、objc_removeAssociatedObjects)
- 【iOS开发技术】对象关联(objc_setAssociatedObject、objc_getAssociatedObject、objc_removeAssociatedObjects)
- iOS-关联(objc_setAssociatedObject、objc_getAssociatedObject、objc_removeAssociatedObjects)
- [IOS] 关联(objc_setAssociatedObject、objc_getAssociatedObject、objc_removeAssociatedObjects)
- IOS学习 关联(objc_setAssociatedObject、objc_getAssociatedObject、objc_removeAssociatedObject)
- IOS中的关联对象实现objc_setAssociatedObject
- 关联 objc_setAssociatedObject
- objc_setAssociatedObject关联
- 正则表达式匹配
- java文件预览
- DataGridView 隔行换色后再根据数据换色
- 4-MATLAB的矩阵运算
- 行业软件租赁服务,为服饰企业提供更经济的选择
- iOS开发-通过 objc_setAssociatedObject alert 和 button关联 及传值
- hdu 5380 Travel with candy(双端队列)
- HelloWorld
- win7中设置保护眼睛的绿豆沙色
- 5-求解线性方程组
- C#装箱拆箱 Nullable
- 6-使用MATLAB进行概率统计分析
- Android 开发中 如何将xml文件封装成对象,存放到数组中?
- 9.10扩展性与存储限制(一)——对于超大型的社交网站,展示两个人之间的“连接关系”或“社交路径”