zoukankan      html  css  js  c++  java
  • 通过 objc_setAssociatedObject alert 和 button关联 及传值

    原文地址

    http://blog.csdn.net/lengshengren/article/details/16886915

     

    //唯一静态变量key

    static const char associatedkey;

    static const char associatedButtonkey;


    - (IBAction)sendAlert:(id)sender

    {

        

        NSString *message =@"我知道你是按钮了";

        

        UIAlertView *alert = [[UIAlertViewalloc]initWithTitle:@"提示"message:@"我要传值·" delegate:selfcancelButtonTitle:@"确定" 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 = [[sendertitleLabel]text];

        _ThisLabel.text = messageString;

        

        

        //使用函数objc_removeAssociatedObjects可以断开所有关联。通常情况下不建议使用这个函数,因为他会断开所有关联。只有在需要把对象恢复到“原始状态”的时候才会使用这个函数。

    }

    demo http://download.csdn.net/detail/lengshengren/6594365

     
  • 相关阅读:
    在vscode中显示空格和tab符号
    如何正确理解关键字"with"与上下文管理器
    HADOOP基本操作命令
    Ganglia环境搭建并监控Hadoop分布式集群
    关于分布式系统的数据一致性问题
    hadoop snapshot 备份恢复 .
    hadoop主节点(NameNode)备份策略以及恢复方法
    HDFS snapshot操作实战
    从 secondarynamenode 中恢复 namenode
    hadoop 通过distcp进行并行复制
  • 原文地址:https://www.cnblogs.com/xiaobaizhu/p/3994327.html
Copyright © 2011-2022 走看看