-1

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

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

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

谢谢

4

2 回答 2

2

好吧,这样做是可以的,但是在这种情况下,我更喜欢将逻辑移动到一个单独的方法中并从任何地方调用它。

- (void)findInvoice {
    ...
}

- (IBAction)findInvoiceButtonTapped:(id)sender {
    [self findInvoice];
}

- (void)viewDidLoad {
    [self findInvoice];
}
于 2013-03-17T19:53:45.197 回答
2

您的通话没有问题。确保您没有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];

}
于 2013-03-17T19:55:14.680 回答