我正在Objective-C,GLButton中制作一个自定义按钮。我想遵循目标动作设计模式。所以在 GLButton 我有
SEL _action;
NSObject *_target;
- (void) setAction:(SEL) action{
_action = action;
}
- (void) setTarget:(NSObject*) target{
_target = target;
}
并执行它调用的操作
[_target performSelector:_action];
在实例化 GLButton 的类中,我有方法
- (void) button1{
NSLog(@"button1");
}
- (void) button2{
NSLog(@"button2");
}
然后我设置相应的目标/动作
[b1 setTarget:self];
[b1 setAction:@selector(button1)];
[b2 setTarget:self];
[b2 setAction:@selector(button2)];
但是当我单击任一按钮时,它总是会触发最后一个目标集,在本例中为 button2。
知道如何解决这个问题吗?