私はNSComboBoxを持っています。アクションセレクターを設定しました。ボックスが非表示になると、ユーザーがボックスに触れていなくても、セレクターが起動します。はい、隠す必要があります。
IBOutlet NSComboBox *comboBox;
[comboBox setAction:@selector(onComboBoxSelection:)];
- (void)onComboBoxSelection:(id)sender
{
NSLog(@"Why does this fire twice");
//My code doesn't actually set hidden here, it's just for proof while debugging the issue.
[comboBox setHidden:YES];
}
NSControl を非表示にすると、セレクターが起動するのはなぜですか? それを修正する最良の方法は何ですか?
更新: メソッドをラップして修正しました。しかし、その理由、またはそれを修正する他の方法を理解したいと思います。
- (void)onComboBoxSelection:(id)sender
{
if(![sender isHidden]{
NSLog(@"Now only fires once");
//My code doesn't actually set hidden here, it's just for proof while debugging the issue.
[comboBox setHidden:YES];
}
}