Установить тип отправителя в вызове функции - PullRequest
0 голосов
/ 01 марта 2019

Та же основная функция (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
        }
    }

Как правильно настроить отправителя в соответствии с требованиями при использовании элементов меню?Спасибо!

...