简单使用iOS 关联引用objc_setAssociatedObject,objc_getAssociatedObject

使用关联引用


   #import <objc/runtime.h>


    NSString *interestingString = @"My Interesting Thing";
    //将数据和控件绑定
    UIAlertView *alert          = [[UIAlertView alloc] initWithTitle:@"Alert" message:nil delegate:self cancelButtonTitle:@"OK" otherButtonTitles: nil];
    objc_setAssociatedObject(alert, &kRepresentedObject, interestingString, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
    [alert show];

在代理方法中取值

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex {
    NSString *interestingString = objc_getAssociatedObject(alertView, &kRepresentedObject);
    NSLog(@"%@", interestingString);
}
posted @   bytehello  阅读(3)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示