iphone - Objective-C : Call a method from another class in addTarget:action:forControlEvents

标签 iphone objective-c events uibutton

这是我的问题:

我想在 UIButton 上分配一个事件。我用这个方法:


- (void)addTarget:(id)target
action:(SEL)action
forControlEvents:(UIControlEvents)controlEvents

像这样:


[newsButton addTarget:self
action:@selector(myEvent2)
forControlEvents:UIControlEventTouchUpInside];

newsButton 是我的 UIButton。

如果 myEvent2 属于我所在的类,则代码编译和执行正常,每个人都很高兴。

但是如果 myEvent2 属于另一个类,我将无法成功执行它(项目编译正常)。

我尝试以这种方式更改我的代码:


MyViewController* test = [[MyViewController alloc] init];
[newsButton addTarget:self
action:@selector([test myEvent2])
forControlEvents:UIControlEventTouchUpInside];

但我收到以下错误:

Expected ':' before '[' token

Method name missing in @selector

有人可以解决我的问题吗?

提前致谢:)

最佳答案

您需要将 addTarget:self 更改为 addTarget:test

关于iphone - Objective-C : Call a method from another class in addTarget:action:forControlEvents,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3944231/

相关文章:

objective-c - 高清图像和应用程序大小

iphone - 是否存在将在 Objective-C 中转换日语搜索字符串的现有代码

iphone - 如何检测按下的返回键并使用 UIKeyInput 协议(protocol)对其进行响应?

iphone - 无法使用 TapGestureRecognizer 突出显示 UIButton

objective-c - 试图将 UIActivityIndi​​catorView 添加到 View 中,但不起作用

python - Tkinter GUI、I/O 和线程 : When to use queues, 何时发生事件?

objective-c - 如何在macOS的非主线程上发生事件循环?

jquery - 单击文本框时如何找到正在调用哪个 jQuery 事件?

iphone - 需要一些关于异步任务的解释

ios - card.io 不扫描