你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> iOS之@selector的函數傳遞多個參數

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


 

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved