2011-11-07 83 views
1

我有一個綁定使用可可綁定的NSTableView。該表的一列是圖像單元。我使用的圖像總數僅爲2,因此可以在每一行上重複。如何在Cocoa中使用圖像單元對圖像單元格進行排序(圖像)?

如何排序我的NSTableView,顯示第一行有image1.jpg,之後是具有image2.jpg的行?

當我將行添加到底層數組時,我無法控制它,因爲它們可以隨機順序添加。

+0

您使用的核心數據? –

回答

2

在XIB編輯器中,您可以雙擊表列並選擇「屬性」窗格並設置排序鍵。

如果你使用的核心數據,你可能得添加類似的「imageName」屬性,你的實體,並設置排序鍵imageName和選擇,以compare:

如果沒有,你可以將排序鍵設置爲image.name,將選擇器設置爲compare:,它應該可以正常工作。

這允許用戶選擇表列標題來對圖像列進行排序。如果您希望排序自動發生,您可以使用與上面列出的相同的密鑰來設置代碼中的排序描述符。

編輯:你有你的廈門國際銀行成立這樣的:

enter image description here

+0

非常感謝。不,我沒有使用核心數據。我試圖按你所說的去做,但它不會奏效。可能錯過了一些東西。你能舉出更多細節的例子嗎?你的意思是image.name?謝謝 – User1234

+0

是的完全正確。排序鍵 - 只需要成爲圖像名稱?像「image1.jpg」?我嘗試過,但它仍然沒有做到。 – User1234

+0

你確定你的圖片實際上有一個名字嗎?嘗試在初始化時手動設置圖像名稱。你的表格列綁定了什麼樣的關鍵路徑?由於「數據」綁定似乎已被棄用,我們必須使用值轉換器從原始數據創建一個NSImage,從而綁定到「值」。 –