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

     
  • 相关阅读:
    HashMap源码分析和应用实例的介绍
    Map不同具体实现类的比较和应用场景的分析
    Set集合架构和常用实现类的源码分析以及实例应用
    深入理解JVM(7)——类加载器
    深入理解JVM(5)——HotSpot垃圾收集器详解
    PoolManager 简单使用
    HDU4786_Fibonacci Tree
    UVA11653_Buses
    UVA11625_Lines of Containers
    HDU3507_Print Article
  • 原文地址:https://www.cnblogs.com/xiaobaizhu/p/3994327.html
Copyright © 2011-2022 走看看