Та же основная функция (showParameterWindow
) вызывается NSButton
для добавления нового объекта и NSCollectionViewItem
для редактирования существующего объекта.Тип отправителя используется в основной функции для запуска правильного поведения.
Теперь главная функция также должна вызываться двумя NSMenuItem
.Следующий фрагмент кода вызывается пунктами меню, но ожидаемая информация об отправителе (NSButton
или NSCollectionViewItem
) не доставляется в функцию.Тип отправителя по-прежнему NSMenuItem
.
@IBAction func newParameterMenuItemSelected(_ sender: Any) {
showParameterWindow(sender as! NSButton)
}
@IBAction func editParameterMenuItemSelected(_ sender: Any) {
showParameterWindow(sender as! ParameterCollectionViewItem)
}
@IBAction func showParameterWindow(_ sender: Any) {
// 1 check if sender is CollectionViewItem or Add-Button and prepare values to pass to window
if sender is NSButton {
//... do something
}else{
//... do something else
}
}
Как правильно настроить отправителя в соответствии с требованиями при использовании элементов меню?Спасибо!