我有一个macOS项目,其中有两个tableView,其viewControl与delegate相同。我如何知道在tableViewSelectionDidChange上调用哪两个:?
编辑:我正在使用tableViewSelectionDidChange:
来防止点击一些我用作“标题组”的项目。
我读了这个问题NSTableViewDelegate with 2 tables and tableViewSelectionDidChange:(NSNotification *)aNotification但是作为初学者,我不知道如何在Swift中这样做。
我试过
func tableViewSelectionDidChange(_ notification: Notification) {
let tableViewName = (notification.object? as AnyObject).identifier // error
if tableViewName == myTableView1 {
print("myTableView1")
}
}
但我得到了“不明确使用标识符”错误。有人如此善良地告诉我我做错了什么吗?一个工作的例子将非常感激。
答案 0 :(得分:4)
来自NSTableViewSelectionDidChangeNotification
的文档通知对象是其选择已更改的表格视图。此通知不包含userInfo字典。
因此该对象显然是非可选的,并且是一个表视图实例。这是不 AnyObject
let tableView = notification.object as! NSTableView
if let identifier = tableView.identifier, identifier == "myTableView1" {
print("myTableView1")
}