我在区分两个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的tableview中进行选择,则每三到四次点击,我会看到itemSheet表已启动。
答案 0 :(得分:1)
您可以尝试使用委托方法而不是通知来实现您想要的效果吗?从上面的代码看起来一切都很好,所以可能错误在其他地方?