ios扩展机制objc_setAssociatedObject,objc_getAssociatedObject

时间:2014-04-19 06:28:02   收藏:0   阅读:499

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

 

 

使用例子:

首先导入头文件:#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

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

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!