2011-06-29 63 views
0

我添加一個UIButton使用編碼和分配目標到其他類的方法
我嘗試下面的代碼,但不適用於我。UIButton addTarget另一個類的方法

一類

-(void)myMethod{ 
//some code 
    SEL myFunction = @selector(myFunction:); 
    [obj refresh:[[NSDictionary alloc] initWithObjectsAndKeys:self,@"target",circleBtnAct,@"action",nil] 
        action:circleBtnAct]; 
    [addContactView addSubview:myWorldView]; 
//some code 
} 
-(IBAction)myFunction:(id)sender{ 
    NSLog(@"... %d",[sender tag]); 
} 

第二類

-(void)refresh:(id)sender action:(SEL)action{ 
//some code 
    [btn addTarget:[sender objectForKey:@"target"] action:action forControlEvents:UIControlEventTouchDown]; 
//some code 
} 

連我也試過 [btn addTarget:[sender objectForKey:@"target"] action:[sender objectForKey:@"action"] forControlEvents:UIControlEventTouchDown];

但其沒有工作..應用程序崩潰就行addTarget

如果我在課堂上第二個創建類中的一個對象,然後使用該行
[btn addTarget:oneObj action:@selector(myFunction:) forControlEvents:UIControlEventTouchDown];

+0

是什麼崩潰日誌說?你可以添加它嗎? –

+0

謝謝Deepak解決了..愚蠢的錯誤我在字典中傳遞非對象值 –

回答

0

對不起你們愚蠢的錯誤

它正常工作,我經過非對象值在字典

現在使用本字典
[[NSDictionary alloc] initWithObjectsAndKeys:self,@"target",[NSValue valueWithPointer:@selector(circleBtnAct:)],@"action",nil]

-(void)myMethod{ 
//some code 
    SEL myFunction = @selector(myFunction:); 
    [obj refresh:[[NSDictionary alloc] initWithObjectsAndKeys:self,@"target",[NSValue valueWithPointer:@selector(circleBtnAct:)],@"action",nil] 
        action:circleBtnAct]; 
    [addContactView addSubview:myWorldView]; 
//some code 
} 

第二類

-(void)refresh:(id)sender action:(SEL)action{ 
//some code 
    [btn addTarget:[sender objectForKey:@"target"] action:[[sender objectForKey:@"action"] pointerValue] forControlEvents:UIControlEventTouchDown]; 
//some code 
} 

感謝所有