1

各列が NSArrayController の適切な値にバインドされた NSTableView があります。列の 1 つには、画像を表示する NSImageCell が含まれています。

この列で並べ替えたいのですが、明らかに画像のオブジェクト値で並べ替えるのは私が望んでいるものではありません。実際には他のフィールドの組み合わせでソートしていますが、これを設定する方法がわかりません。問題のフィールドの列ヘッダーをクリックすると、ソート矢印が表示されません。

NSArrayController に NSSortDescriptors を適用して他の列を並べ替えていますが、並べ替えると、すべての NSSortDescriptors がアクセスできるのはテーブル セルのオブジェクト値であることがわかります。

オブジェクト値がプロパティであるオブジェクトの比較メソッドで並べ替える必要があります。これは可能ですか?私はすでに NSArrayController をサブクラス化しており、どこかに良い賭けがあるように思えますが、ドキュメントには役立つものは何も見つかりません。

4

1 に答える 1

1

わかりましたので、IBでテーブル列を作成し、そこにソートキーを設定するだけでこれを解決しました。ちょっとした回避策ですが、コードを少し削ってしまったので、文句は言えません。ただし、プログラムでソートキーを設定できないのは奇妙に思えます。少なくとも、私が見つけた方法ではありません。

于 2010-11-19T08:32:14.717 に答える