首页 > 移动平台 > 详细

iOS之@selector的函数传递多个参数

时间:2015-08-03 19:23:41      阅读:160      评论:0      收藏:0      [点我收藏+]

1、一般情况,使用 self performSelector:SEL withObject:id方法

[self performSelectorOnMainThread:@selector(testAA:) withObject:[NSArray arrayWithObjects:@"1",@"2", nil] waitUntilDone:NO];


-(void) testAA:(NSArray*)data{
 
    if (data==nil||data.count!=2) {
        return;
    }
    NSInteger num=[(NSString*)data[0] intValue];
    NSInteger index=[data[1] intValue];
}

2、NSTimer:将传参的对象储存在了NSTimer的userInfo的字典中。

NSMutableDictionary *dict = [[NSMutableDictionary alloc] init];  
[dict setObject:oldView forKey:@"oldView"];
[NSTimer scheduledTimerWithTimeInterval:0.0 target:self selector:@selector(onTimer:) userInfo:dict repeats:NO];  
[dict release];

- (void)onTimer:(NSTimer *)timer {  
    UIView *oldView = [[timer userInfo] objectForKey:@"oldView"];
}

3、UIButton类:通过设置tag来使用

UIButton * markButton=[[UIButton alloc] initWithFrame:CGRectMake(280, 0, 30, 30)];
markButton.tag=@"参数值"; //这里是你要传递的参数值
[markButton addTarget:self action:@selector(addMark:)  forControlEvents:UIControlEventTouchUpInside];

-(BOOL) addMark:(UIButton *)btn {
    NSLog(@"%@",btn.tag];
}










版权声明:本文为博主原创文章,未经博主允许不得转载。

iOS之@selector的函数传递多个参数

原文:http://blog.csdn.net/lvxiangan/article/details/47257913

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