美文网首页
@selector 传递多个参数

@selector 传递多个参数

作者: i爱吃土豆的猫 | 来源:发表于2019-06-20 20:24 被阅读0次

第一步

 #import <objc/runtime.h>

第二步

UIButton *btn = [[UIButton alloc] initWithFrame:CGRectMake(80, 100, 80, 30)];
[btn setTitle:@"传多参数" forState: UIControlStateNormal];
[btn setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
[self.view addSubview:btn];


NSArray *array = @[
                      @{@"name":@"张无忌1",@"age":@"18"},
                      @{@"name":@"张无忌2",@"age":@"19"},
                      @{@"name":@"张无忌3",@"age":@"20"},
                      @{@"name":@"张无忌4",@"age":@"21"}];

NSDictionary *dict = @{@"name":@" 张无忌",
                                      @"age":@"18"};

objc_setAssociatedObject(btn, @"array", array, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
objc_setAssociatedObject(btn, @"dict", dict, OBJC_ASSOCIATION_RETAIN_NONATOMIC);

[btn addTarget:self action:@selector(btnClick:) forControlEvents:UIControlEventTouchUpInside];

第三步

-(void)btnClick:(UIButton *)btn{
   id first = objc_getAssociatedObject(btn, @"array");
   id second = objc_getAssociatedObject(btn, @"dict");
   NSLog(@"firstParam: %@",first);
   NSLog(@"secondParam: %@",second);
}

相关文章

网友评论

      本文标题:@selector 传递多个参数

      本文链接:https://www.haomeiwen.com/subject/aihdqctx.html