Ios 从ViewDidLoad调用按钮操作
在调用操作按钮时,默认情况下从viewDidLoad说出id的值是多少?比如说Ios 从ViewDidLoad调用按钮操作,ios,objective-c,Ios,Objective C,在调用操作按钮时,默认情况下从viewDidLoad说出id的值是多少?比如说 - (IBAction)findInvoice:(id)sender { .... .... } 我目前正在使用[self findInvoice:nil];在viewDidLoad中,我将发票引用传递给可编辑的文本字段。它起作用了。对吗 谢谢这样做没关系,但在这种情况下,我更喜欢将逻辑移到一个单独的方法中,并从任何地方调用它 - (void)findInvoice { ... } - (IBActio
- (IBAction)findInvoice:(id)sender {
....
....
}
我目前正在使用[self findInvoice:nil];在viewDidLoad中,我将发票引用传递给可编辑的文本字段。它起作用了。对吗
谢谢这样做没关系,但在这种情况下,我更喜欢将逻辑移到一个单独的方法中,并从任何地方调用它
- (void)findInvoice {
...
}
- (IBAction)findInvoiceButtonTapped:(id)sender {
[self findInvoice];
}
- (void)viewDidLoad {
[self findInvoice];
}
你的电话没有问题。确保在
findInvoice
方法中使用的sender
未用于任何其他目的
单击按钮时,(id)sender
应该是单击的按钮。它表示数据类型为id
。因此,您可以手动传递nil或任何您需要的值
您可以通过两种方式调用此方法
[self findInvoice:nil]; //sender should be nil;
[self findInvoice:self.settingsButton];//sender should be settingsButton;
您还可以在单击按钮时触发它
- (IBAction)findInvoice:(id)sender {
UIButton *btnClicked = (UIButton *)sender; //it should be nil when called as [self findInvoice:nil];
}
你为什么问我们这是否有效?你运行了代码。它到底有没有用?@rmaddy它确实有用。我这样问是因为我不想有一个未知的问题,如果有任何后续处理未知问题是测试的目的。一般来说,你所做的一切都很好。是您的代码决定它是否正常。@user1509593您应该阅读文档而不是询问。
sender
的值是操作的发送者,即。E调用该方法的UIControl
实例;在这种情况下是按钮本身。+1,这就是我所说的,这是正确的方法。如果他出于其他目的需要发件人,该怎么办?我更喜欢这个答案。我什么都不做,谢谢你帮了我。