我有一个Cocoa应用程序,其基于视图的表视图绑定到NSArrayController
,其中包含自定义Employee
对象的列表。
表格视图显示了员工列表。在子视图中,可以更改员工的详细信息。
所有内容都已设置,因此当更改员工的详细信息时,将重新加载表视图内容,以显示更改。到目前为止,非常好。
现在NSArrayController
能够通过preservesSelection
跨重新加载保留所选对象。
对于我的自定义Employee对象,这不起作用。我假设,因为阵列控制器无法弄清楚如何在列表更新后将旧的选定员工对象从旧内容与新内容进行匹配。
我在我的自定义isEqual:
课程中覆盖Employee
,但从未调用过。
文档只是说NSArrayController.preservesSelection
:
一个布尔值,指示接收器在内容更改时是否将尝试保留当前选择
那么阵列控制器究竟是如何保留选择的呢?它必须将旧的选定对象与新对象列表进行比较......