我在实现文件中有一个action方法,用于响应用户操作。我现在想用另一种方法调用它,但语法有问题:
我如何从另一种方法中调用它?
-(IBAction)login:(id)sender { //open method
[self login]; gives no visible interface error
答案 0 :(得分:1)
因为此方法有一个参数sender:
[self login:nil];
应该可以正常工作。
答案 1 :(得分:0)
因为发件人是自己的,[自我发件人:自己]:结果发挥了作用。
答案 2 :(得分:0)
我非常强烈地倾向于而不是来做这件事。
我首先没有名为“login”的IBAction。我有一个名为“loginButtonPressed:”的IBAction,它可以调用名为login的方法。我可能还有其他代码也调用方法登录。
例如,应保留IBAction以处理用户按下按钮的情况。它是处理按钮的纯用户界面。它不应该像登录一样执行,只调用一个在需要时执行它的方法。 IBAction会假设发件人是按下的按钮。您的loginButtonPressed:IBAction可能会更改按下的按钮的名称。如果您从其他地方呼叫登录,则该按钮可能不会受到影响,因此您不应该调用IBAction而是单独的代码。