在调用操作按钮时,默认情况下从 viewDidLoad 说 id 的值是多少?例如
- (IBAction)findInvoice:(id)sender {
....
....
}
我目前正在使用 [self findInvoice:nil]; 在 viewDidLoad 中,我将 Invoice 引用传递给可编辑的文本字段。有用。那是对的吗
谢谢
在调用操作按钮时,默认情况下从 viewDidLoad 说 id 的值是多少?例如
- (IBAction)findInvoice:(id)sender {
....
....
}
我目前正在使用 [self findInvoice:nil]; 在 viewDidLoad 中,我将 Invoice 引用传递给可编辑的文本字段。有用。那是对的吗
谢谢
好吧,这样做是可以的,但是在这种情况下,我更喜欢将逻辑移动到一个单独的方法中并从任何地方调用它。
- (void)findInvoice {
...
}
- (IBAction)findInvoiceButtonTapped:(id)sender {
[self findInvoice];
}
- (void)viewDidLoad {
[self findInvoice];
}
您的通话没有问题。确保您没有sender
将方法内部findInvoice
用于任何其他目的。
当一个按钮被点击时,(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];
}