频道栏目
首页 > 资讯 > IOS > 正文

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

15-08-04        来源:[db:作者]  
收藏   我要投稿

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];
}


 

相关TAG标签
上一篇:JavaScript中字符串与Unicode编码的互相转换
下一篇:CSS3动画实现loading加载图标
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站