iOS之@selector的函数传递多个参数
分类:iOS
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中的生成随机数方法下一篇IOS开发之关于UIButton点击没有响应问题
顶0踩0
原来和文字沾上边的孩子从来都是不快乐的,