Это очень простой ... запутанный мысленный вопрос. Я немного сбит с толку относительно того, как звонки работают с NSObjects, и я не могу заставить это работать вообще (несмотря на то, что ... что я предполагаю, очень просто).
Я создал NSViewController
с соответствующим .xib
. В XIB есть метка, всплывающая кнопка и обычная кнопка, показанные ниже.
Все, что я хочу, это чтобы кнопка отображала выбранный номер всплывающей кнопки. Достаточно просто настроить первый раз в коде, в View Controller.
class Root: NSViewController {
//MARK: IBs
@IBOutlet weak var noOfImages: NSPopUpButton!
@IBOutlet weak var genButton: NSButton!
override func viewDidLoad() {
super.viewDidLoad()
// Do view setup here.
genButton.title = "Generate \(noOfImages.selectedItem?.title) Image"
noOfImages.autoenablesItems = false
//Adding target
noOfImages.target = self
noOfImages.action = #selector(imageValueChanged(_:))
}
@objc func imageValueChanged(_ sender: NSPopUpButton) {
print("print changed")
}
}
Или я так думаю. Моя imageValueChanged
функция никогда не вызывается. Когда-либо. Я также попытался изменить @objc func
на простой IBAction
, и все же - ничего.
Я упускаю что-то явно очевидное в том, чтобы заставить действие зарегистрироваться? Это ошибка?
EDITED : Просто чтобы добавить - я попытался подключить действие и селектор только к NSButton
. Ничего. Когда я sendAction
с помощью кнопки, я получаю ответ. Я действительно понятия не имею, что происходит.