2011-11-07 8 views
1

私はCocoa Bindingsを使ってバインドされたNSTableViewを持っています。その表の1つの列は画像セルです。私が使用している画像の総数はわずか2であるため、各行で繰り返すことができます。NSTableViewをCocoaで画像セル(画像)を使用して並べ替える方法は?

NSTableViewを並べ替えて、image1.jpgを持つ最初の行を表示し、その後、image2.jpgの行を表示するにはどうすればよいですか?

ランダムな順序で追加することができるため、基本となる配列に行を追加するときには制御できません。

+0

あなたがコアデータを使用しています:あなたは、あなたのXIBは次のように設定されていますか? –

答えて

2

XIBエディタで、テーブルの列をダブルクリックして[属性]ペインを選択し、ソートキーを設定できます。

あなたがコアデータを使用している場合、あなたはおそらくあなたのエンティティに「imagenameの」プロパティのようなものを追加する必要があるだろう、とされていない場合compare:

imageNameにソート・キーとセレクタを設定するには、ソートキーをimage.nameに設定し、セレクタをcompare:に設定すれば正常に動作します。

これにより、ユーザーはテーブル列ヘッダーを選択してイメージ列を並べ替えることができます。ソートが自動的に行われるようにするには、上記の同じキーを使用してソート記述子をコードで設定できます。

編集:

enter image description here

+0

ありがとう。いいえ、コアデータを使用していません。私はあなたが言ったようにしようとしたが、それは動作しません。おそらく何かを逃した。より詳細な例を挙げられますか?あなたはimage.nameを意味しますか?ありがとう – User1234

+0

はい、まさにそうです。ソートキー - イメージ名である必要がありますか? "image1.jpg"のように?私は試みましたが、それはまだそれをしません。 – User1234

+0

画像に実際に名前が付いていますか?初期化するときにイメージ名を手動で設定してみてください。あなたのテーブルの列はどのモデルキーパスにバインドされていますか? Mineは、 "Data"バインディングが廃止されているように見えるため、値トランスフォーマを使用して "Value"にバインドされて、生データからNSImageを作成します。 –

関連する問題