MacOS Swifで作るComboboxのActionメソッドについて
MacOSでSwiftを用いた画面作成について教えて下さい。
storyboardでViewController上に2つのComboboxを置いて、それぞれのクリック時の動作を制御したいのですが、前にクリックしたコンボボックスのActionメソッドにも飛んでしまいます。
ViewController.swift
import Cocoa
class ViewController: NSViewController {
@IBOutlet weak var cmb1: NSComboBox!
@IBOutlet weak var cmb2: NSComboBox!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
override var representedObject: Any? {
didSet {
// Update the view, if already loaded.
}
}
@IBAction func selCmb1(_ sender: NSComboBox) {
print("pushCmb1")
}
@IBAction func selCmb2(_ sender: NSComboBox) {
print("pushCmb2")
}
}
コンボボックス1クリック、コンボボックス2をクリックした時に表示されたprint文が
下記になります。
①コンボボックス1選択し、プルダウンでアイテム表示
②アイテム選択
pushCmb1
③コンボボックス2選択、プルダウンでアイテム表示
pushCmb1
④アイテム選択
pushCmb2
となり、③のコンボボックス2を選択した際に、コンボボックス1のActionメソッドが動いてしまいます。
そもそもプルダウンでアイテム表示した際のActionメソッドが不要で、アイテム選択時のみActionメソッドに飛んで欲しいのですが、どうすればよいでしょうか?