-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 または必要なものを渡すことができます。

このメソッドは 2 つの方法で呼び出すことができます。

[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 に答える