objc_setAssociatedObjec

转载 2015年07月09日 17:49:38

//唯一静态变量key

static const char associatedkey;

static const char associatedButtonkey;


- (IBAction)sendAlert:(UIButton*)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可以断开所有关联。通常情况下不建议使用这个函数,因为他会断开所有关联。只有在需要把对象恢复到原始状态的时候才会使用这个函数。

}

objc iphone开发基础pdf

  • 2013年04月28日 07:53
  • 43.23MB
  • 下载

iPad上搭建c,c++,objc开发环境

注:sdk下载 http://code.google.com/p/ios-devel/downloads/list 已在iPad2上成功搭好开发环境,测试了几个程序没问题。 C环境...
  • ibingow
  • ibingow
  • 2012年02月11日 00:38
  • 9382

用objc/runtime给类别扩展属性代码

  • 2015年01月28日 17:02
  • 64KB
  • 下载

Effective Objective-C(第11-14条)动态绑定、objc_msgSend、消息转发机制

第11条:理解objc_msgSend的作用     在对象上调用方法是Objective-C中经常使用的功能。用Objective-C术语来说这叫做:“传递消息”(pass a message)。消...
  • hherima
  • hherima
  • 2014年08月10日 15:06
  • 2702

objc学习笔记

  • 2015年03月26日 09:42
  • 97KB
  • 下载

gcc-objc-3.4.5-20060117-3.tar.gz

  • 2009年11月07日 17:37
  • 1.57MB
  • 下载

【iOS SOAP】基于第三方开源项目:wsdl2objc

wsdl2objc 地址:http://code.google.com/p/wsdl2objc/ 准备工作: svn checkout http://wsdl2objc.google...

Hprose OBJC 使用说明

  • 2012年10月31日 09:52
  • 1.54MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:objc_setAssociatedObjec
举报原因:
原因补充:

(最多只允许输入30个字)