在实现文件中调用操作方法
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,而应调用一段单独的代码。
我在实现文件中有一个响应用户操作而调用的操作方法。我现在想从另一种方法调用它,但语法有问题:
如何从另一个方法中调用它?
-(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,而应调用一段单独的代码。