从ViewDidLoad调用按钮操作

时间:2013-03-17 19:42:17

标签: ios objective-c

在调用操作按钮时默认情况下从viewDidLoad说什么是id的值?例如

- (IBAction)findInvoice:(id)sender {
....
....
} 

我目前正在使用[self findInvoice:nil];在viewDidLoad中,我将Invoice引用传递给可编辑的文本字段。有用。这是正确的

由于

2 个答案:

答案 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];

}