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
}
}
使用菜单项时,根据需要设置发件人的正确方法是什么? 谢谢!