1

使用 Visualworks (Cincom Smalltalk) 和 List 小部件,如何将 SortedCollection 与 SelectionInList 一起使用?例如,如何使用 SortedCollection 初始化 SelectionInList?

我对这个过程感到困惑,我找不到任何关于如何进行的好的文档。

4

2 回答 2

1

就像这样:

aSelectionInList 列表:aSortedCollection。

列表中的选择是一个管理选择和列表的对象,它实际上并不太关心您作为列表传递的集合类型,只要它是可排序的(即响应#at :)

于 2013-03-14T11:51:45.047 回答
0

你真的很想在 SelectionInList 对象中一直使用 List 。原因是 List 在实例变量中自行管理其依赖关系。其他类型的集合使用系统范围的 Dependencies 集合来管理它们的依赖关系。这意味着如果您的窗口意外关闭,您可能会在 Dependencies 集合中留下垃圾,这些垃圾仍然保留在您的整个 Window 结构中并防止它被垃圾收集。我已经看到图像因此变得很大。

如果您使用列表,则始终可以使用 sort 或 sort: 方法对其进行排序。如果您需要将元素添加到列表中,您可以在最后添加它们并重新排序。

于 2013-03-16T10:21:32.883 回答