我将 NSTableView 绑定(bind)到 NSArrayController。由于某种原因,我根本无法对列进行排序。有些列甚至不显示排序方向箭头。有些确实显示了它,但单击它只是切换箭头方向,它实际上根本不会对内容进行排序。
这一切都在 IB 中,因此没有代码可显示。
在 NSArrayController 上检查自动重新排列内容。
表格 View 表格内容部分已绑定(bind),并且可以正常工作。 TableView 绑定(bind)下有一个排序描述符区域,但我不知道将其设置为什么。我尝试将其绑定(bind)到同一个数组 Controller 并将 Controller 键设置为arrangedObjects,但这会导致运行时崩溃。 (显然它试图发送“key”选择器。)
编辑:这是一个说明问题的示例项目。表标题显示排序方向箭头,但单击标题时表数据不会更改。 https://www.dropbox.com/s/yhvpxo9b73vj9it/bindingtest.zip
最佳答案
在属性检查器下,您需要提供排序键和选择器(比较:)。 这将开始对表格列进行排序,您需要为每个表格列进行设置。
另外,为了供您引用,您可以从以下位置获取我的示例代码:Project
启动应用程序后,您可以单击“加载抽屉”和“加载表格”,然后单击标题对列进行排序。在此示例中,我将排序键设置为与值绑定(bind)键相同。
我希望这会有所帮助。
关于cocoa - NSTableView 列无法排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22851272/