cocoa - 如何区分同一窗口中的两个 nstableview

标签 cocoa osx-mavericks nstableview nsnotifications

我在区分两个 NSTableView 时遇到问题,需要一些帮助。

我尝试过这些方法:

1.

- (void)tableViewSelectionDidChange:(NSNotification *)notification {

    if ([[notification object] tag] == 0) {
 NSInteger row = [self.categoryTableView selectedRow];
       ...do stuff

    } else {
        if ([[notification object] tag] == 1 ) {
            [self showItemSheet:self];
        }
    }
}

和2:

- (void)tableViewSelectionDidChange:(NSNotification *)notification {

    if ([notification object] == categoryTableView) {
        NSInteger row = [self.categoryTableView selectedRow];

        ..do stuff

    } else {

        if ([notification object] == itemTable ) {
            [self showItemSheet:self];
        }
    }
}

这两种方法在大多数情况下都有效。但是,如果我继续从带有标签 0 的表格 View 中进行选择,则每点击三到四次,我就会看到启动的 itemSheet 表。

最佳答案

您可以尝试使用委托(delegate)方法而不是通知来实现您想要的吗?从上面的代码来看,一切看起来都很好,所以错误可能在其他地方?

关于cocoa - 如何区分同一窗口中的两个 nstableview,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23304063/

相关文章:

objective-c - 如何确定 Objective C 中的数组索引?

objective-c - NSTask 阻塞主线程

xcode - 在 Xcode 5 Mavericks Server 上创建 Bot 时被要求提供存储库凭据

objective-c - 如何根据文本内容增加 NSTableView 中的行高?

swift - 如何删除 NSTableView 中的一行(Swift)

multithreading - 使用performSelectorInBackground在单独的线程中处理代码时更新cocoa接口(interface)

iphone - 核心数据 : NSCocoaErrorDomain=134040 Only Occurs On Real Phone, 不是模拟器

macos - Java Applet 在 Safari 中沙箱化?

git - Mavericks PHPStorm 错误运行 git .../usr/bin/git

objective-c - 绑定(bind) NSOutlineView 的选择索引路径