在调用操作按钮时默认情况下从viewDidLoad说什么是id的值?例如
- (IBAction)findInvoice:(id)sender {
....
....
}
我目前正在使用[self findInvoice:nil];在viewDidLoad中,我将Invoice引用传递给可编辑的文本字段。有用。这是正确的
由于
答案 0 :(得分:2)
嗯,这样做是可以的,但在这种情况下,我更喜欢将逻辑移到一个单独的方法,并从任何地方调用它。
- (void)findInvoice {
...
}
- (IBAction)findInvoiceButtonTapped:(id)sender {
[self findInvoice];
}
- (void)viewDidLoad {
[self findInvoice];
}
答案 1 :(得分:2)
您的通话没有问题。确保您没有将sender
方法中的findInvoice
用于任何其他目的。
单击按钮时,(id)sender
应该是单击的按钮。它表示id
作为数据类型。所以你可以手动传递零或任何你需要的东西。
您可以通过两种方式调用此方法,
[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];
}