如何在“tableViewSelectionDidChange:”中的 Swift 中学习,其中 NSTableView 的选择确实发生了变化?

Cue*_*Cue 1 cocoa nstableview swift

我有一个 macOS 项目,其中有两个 tableView 与委托具有相同的 viewControl。我怎样才能知道在 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")
    }

}
Run Code Online (Sandbox Code Playgroud)

但我收到“标识符的模糊使用”错误。有人这么好心告诉我我做错了什么吗?一个工作示例将不胜感激。

vad*_*ian 5

来自NSTableViewSelectionDidChangeNotification的文档

通知对象是其选择已更改的表视图。此通知不包含 userInfo 字典。

所以该对象显然是非可选的,并且是一个表视图实例。这 AnyObject

let tableView = notification.object as! NSTableView

if let identifier = tableView.identifier, identifier == "myTableView1" {
    print("myTableView1")
}
Run Code Online (Sandbox Code Playgroud)