2014-01-05 68 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

不客气。 –

相关问题