Cocoa 带有iAction原因的按钮;无法连接操作,目标类NSNibExternalObjectPlaceholder不响应-action";错误

Cocoa 带有iAction原因的按钮;无法连接操作,目标类NSNibExternalObjectPlaceholder不响应-action";错误,cocoa,nstableview,xcode-storyboard,Cocoa,Nstableview,Xcode Storyboard,我有一个故事板场景,其中包含一个NSTableView和一个NSTableViewRow子类。在这个表视图行中,我有一个按钮,我已经连接到场景中视图控制器中的一个动作 当加载表时,我看到Xcode中出现了一个神秘的错误,当我单击按钮时,操作从未触发: Could not connect action, target class NSNibExternalObjectPlaceholder does not respond to -playVideo: 看起来文件的所有者从未被连线过 由于这些N

我有一个故事板场景,其中包含一个NSTableView和一个NSTableViewRow子类。在这个表视图行中,我有一个按钮,我已经连接到场景中视图控制器中的一个动作

当加载表时,我看到Xcode中出现了一个神秘的错误,当我单击按钮时,操作从未触发:

Could not connect action, target class NSNibExternalObjectPlaceholder does not respond to -playVideo:
看起来文件的所有者从未被连线过

由于这些NstableRowView是以编程方式实例化的,因此我检查了所有者是否已设置,实际上是:

- (NSView *) tableView:(NSTableView *)tableView viewForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row {
...
CombinedHistoryEntryTableCellView *cellView = [tableView makeViewWithIdentifier:@"deviceEvent" owner:self];
...
return cellView;
}

我相信我遇到了一个bug(稍后我将提交一个雷达)但是我可以通过将按钮连接到IB中的
CombinedHistoryEntryTableCellView
类上的一个操作来解决这个问题。因为运行该操作所需的代码在视图控制器中,所以我给了cell view对象一个对控制器的引用,以便它可以调用它

尽管我仍然不知道为什么会出现这样的问题,但如果有其他人遇到这种情况,这是一个合适的解决方法