在实现文件中调用操作方法

call action method in implementation file

我在实现文件中有一个响应用户操作而调用的操作方法。我现在想从另一种方法调用它,但语法有问题:

如何从另一个方法中调用它?

-(IBAction)login:(id)sender { //open method

[self login]; gives no visible interface error

因为这个方法有一个参数sender:

[self login:nil];

应该可以正常工作。

因为发件人是self,[selfsender:self]:原来是工作。

我非常倾向于这样做。

首先我不会有一个名为 "login" 的 IBAction。我有一个名为 "loginButtonPressed:" 的 IBAction,它可以调用一个名为 login 的方法。我可能还有其他代码也调用方法登录。

IBAction 应该保留用于处理例如用户按下按钮的情况。它是处理按钮的纯用户界面。它不应该做登录之类的事情,只在需要时调用执行它的方法。 IBAction 会假定发件人是按下的按钮。例如,您的 loginButtonPressed: IBAction 可能会更改按下的按钮的名称。如果您从其他地方调用登录,那么该按钮可能不会受到影响,因此您不应调用 IBAction,而应调用一段单独的代码。