首页 > 移动平台 > 详细

ios扩展机制objc_setAssociatedObject,objc_getAssociatedObject

时间:2014-04-19 06:28:02      阅读:494      评论:0      收藏:0      [点我收藏+]

这个可以解决变量传递问题, 就不用定义全局的了.

 

 

使用例子:

首先导入头文件:#import <objc/runtime.h>

设置静态常量:static char alertinfokey;

 

- (IBAction)showAlertAction:(id)sender {

    UIAlertView *alert = [[UIAlertView allocinitWithTitle:@"title" message:@"warn" delegate:selfcancelButtonTitle:@"cancel" otherButtonTitles:@"ok"nil];

    objc_setAssociatedObject(alert, &alertinfokey@"test value"OBJC_ASSOCIATION_RETAIN);

    [alert show];

    [alert release];

}

-(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{

    if (buttonIndex == 0) {

        NSLog(@"== : %@",objc_getAssociatedObject(alertView, &alertinfokey));

    }

}

输出结果:== : test value

 

ios扩展机制objc_setAssociatedObject,objc_getAssociatedObject,布布扣,bubuko.com

ios扩展机制objc_setAssociatedObject,objc_getAssociatedObject

原文:http://www.cnblogs.com/willbin/p/3673385.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!