Visualworks (Cincom Smalltalk) と List ウィジェットを使用して、SortedCollection を SelectionInList と一緒に使用するにはどうすればよいですか? たとえば、SortedCollection を使用して SelectionInList を初期化するにはどうすればよいでしょうか。
プロセスについて混乱しており、続行方法に関する適切なドキュメントが見つかりません。
Visualworks (Cincom Smalltalk) と List ウィジェットを使用して、SortedCollection を SelectionInList と一緒に使用するにはどうすればよいですか? たとえば、SortedCollection を使用して SelectionInList を初期化するにはどうすればよいでしょうか。
プロセスについて混乱しており、続行方法に関する適切なドキュメントが見つかりません。
そのように:
aSelectionInList リスト: aSortedCollection。
リスト内のセレクションは、セレクションとリストを管理するオブジェクトです。実際には、リストとして渡すコレクションの種類はあまり気にしません。ただし、シーケンス可能である (つまり、#at: に応答する) 限りはそうです。
あなたは本当にSelectionInListオブジェクトで常にListを使いたいと思っています。その理由は、Listがその依存関係自体をインスタンス変数で管理するためです。他の種類のコレクションは、システム全体のDependenciesコレクションを使用して依存関係を管理します。つまり、ウィンドウが予期せずシャットダウンした場合、Dependenciesコレクションにガベージが残り、ウィンドウ構造全体が保持され、ガベージコレクションが妨げられる可能性があります。このため、画像が巨大なサイズに成長するのを見てきました。
リストを使用する場合は、sortまたはsort:メソッドを使用して、いつでもその場でリストを並べ替えることができます。リストに要素を追加する必要がある場合は、最後に要素を追加して並べ替えることができます。