2

我已经NSTableView绑定到NSArrayControllerviacontentselection indexes。到目前为止一切都很好 - 显示的内容等。

在此处输入图像描述

现在 anNSSearchField通过filterPredicate和要搜索的数组内容实例的属性绑定到数组控制器。
搜索/过滤表格视图效果很好;表视图仅显示匹配条目。

但是NSTableView,如果现有选择不在搜索结果中,则搜索会重置选择。更糟糕的是,不仅在搜索期间,而且在结束搜索后,表格视图上没有选择。

NSArrayController设置为避免空选择。

然而,调试阵列控制器selection indexes表明搜索会将它们重置为空集。完全不知道该怎么做。。

关于如何在这种情况下正确配置绑定以真正防止空选择的任何提示非常感谢!

4

1 回答 1

3

不幸的是,阵列控制器不会在排列对象发生变化时跟踪和恢复选择。您必须自己在代码中执行此操作。您可以通过使用 KVO 观察阵列控制器上的选择来跟踪当前选择。您还可以观察控制器的排列对象,以了解它何时因过滤而发生变化。在每次更改时,只需将当前选择设置回跟踪值(假设它仍在排列的对象中)或将选择设置为新值。

于 2012-10-06T12:30:51.260 回答