2011-06-29 11 views
0

UIButtonをコーディングして他のクラスのメソッドにターゲットを割り当てようとしています
私は次のコードを試してみませんか?UIButton addTargetを別のクラスのメソッドに追加

1クラス

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

私もライン上 [btn addTarget:[sender objectForKey:@"target"] action:[sender objectForKey:@"action"] forControlEvents:UIControlEventTouchDown];

しかし、そのは動作していない...アプリケーションのクラッシュを試みたとしても

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

第二のクラスaddTarget

私は2番目のクラスで、クラスのオブジェクトを作成し、
[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 
} 

おかげですべての

関連する問題