gpt4 book ai didi

objective-c - 选择器 Objective-C 设置

转载 作者:行者123 更新时间:2023-11-29 11:08:31 25 4
gpt4 key购买 nike

我在 Objective-C 中制作了一个自定义按钮,GLButton。我想遵循目标 Action 设计模式。所以在 GLButton 中我有

SEL _action;
NSObject *_target;

- (void) setAction:(SEL) action{
_action = action;
}

- (void) setTarget:(NSObject*) target{
_target = target;
}

并执行它调用的 Action

[_target performSelector:_action];

在实例化 GLButton 的类中我有方法

- (void) button1{
NSLog(@"button1");
}

- (void) button2{
NSLog(@"button2");
}

然后我设置相应的目标/ Action

[b1 setTarget:self];
[b1 setAction:@selector(button1)];
[b2 setTarget:self];
[b2 setAction:@selector(button2)];

但是当我点击任一按钮时,它总是触发最后一个目标集,在本例中是 button2。

知道如何解决这个问题吗?

最佳答案

这些实例变量是在您的 .m 文件中的随机位置声明的吗?

SEL _action;
NSObject *_target;

它们需要是实例变量,或者更好的是,@property 声明。

关于objective-c - 选择器 Objective-C 设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12667040/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com