2014-01-05 65 views
1

大家好!用另一個數組中的數組填充NSTableView

如何使用數組中的字符串填充第一列nstableview,使用第一列中的選擇填充第二列中的字符串與另一個數組中的字符串?

例如,查看iTunes窗口,其中第一列是選定的播放列表,第二列是歌曲列表。

我在網上找不到像這樣的東西。

我將非常感謝您的幫助。

這是關於我的模型一點信息:

陣列填充NSObject的sublass的情況下進行的tableView的內容。這個實例有三個屬性,屬性爲NSString對象,最後一個屬性爲NSArray對象與另一個字符串。用於填充第一列的第一個和第二個屬性,我不知道如何使用第三個屬性(來自另一個數組的字符串)在列上填充sec。

如何用綁定來做到這一點?

回答

1

首先:您不填充列,而是填充行。但是閱讀你的整個問題,似乎是你理解了這一點。

的解決方案是,您使用嵌套數組和兩個表視圖做到這一點:

綁定:

A.第一表視圖經由陣列控制器是在頂部得到實例的陣列您的模型的級別。我們來說一下「播放列表列表」。該數組可能會爲一個表格視圖生成大概一列的行。第一列綁定到一個屬性,可能是「標題」。

playlistsArrayController.contentArray: somewhere.playlists 
viewColumn.content: playlistsArrayController.arrangedObjects.title 

B.然後你有第二個數組控制器的第二個表視圖。這必然要選擇第一個(播放列表)和包含子條目的屬性i。即歌曲。第二個數組構建第二個表視圖的行。通常,你有更多的列在那裏,每個綁定到特定屬性(「稱號」,「長度」,...)

songsArrayController.contentArray: playlistsArrayController.selection.songs 
viewColumn1.content: songslistsArrayController.arrangedObjects.title 
viewColumn2.content: songslistsArrayController.arrangedObjects.length 

兩者綁定在Safari只作爲闡述類型。

+0

非常感謝!這真是我的地獄。優秀!我的問題是,我沒有想到將第二個數組控制器內容屬性綁定到頂級數組控制器的選擇屬性。 –

+0

不客氣。 –

相關問題