Macos NSTableView中的NSCollectionView(与相关实体绑定)
我有以下核心数据设置 我已经创建了一个名为“SongsInMedleys”的数组控制器,该控制器配置为包含具有特定medleyid的SongsInMedleys的内容 我创建了一个基于视图的Tableview,它绑定到SongsInMedleys阵列控制器 这很好,我通过绑定到表单元格视图并在模型键路径中使用objectValue.withSongs.title,成功地在标签中设置了歌曲标题 现在谈谈我的问题: 我想在表格单元格视图中创建一个集合视图,其中包含相关歌曲的所有诗句。(Macos NSTableView中的NSCollectionView(与相关实体绑定),macos,core-data,nstableview,nscollectionview,Macos,Core Data,Nstableview,Nscollectionview,我有以下核心数据设置 我已经创建了一个名为“SongsInMedleys”的数组控制器,该控制器配置为包含具有特定medleyid的SongsInMedleys的内容 我创建了一个基于视图的Tableview,它绑定到SongsInMedleys阵列控制器 这很好,我通过绑定到表单元格视图并在模型键路径中使用objectValue.withSongs.title,成功地在标签中设置了歌曲标题 现在谈谈我的问题: 我想在表格单元格视图中创建一个集合视图,其中包含相关歌曲的所有诗句。(object
objectValue.withSongs.withVerses
)
有什么建议我可以这样做吗
我试图创建的模型:
经过一些研究,我放弃了尝试在tableview中添加一个集合视图。 相反,我在
NSTableCellView
-(void) setObjectValue:(id)objectValue {
if (objectValue != nil)
{
[super setObjectValue:objectValue];
SongsInMedleys *Sim = objectValue;
Songs *song = Sim.withSongs;
scrollView *scrollview = [[scrollView alloc] initWithFrame:NSMakeRect(10,5,[self frame].size.width-30,145)];
int addverses = 0;
for (VersesInSongs *verse in song.withVerses)
{
if ([verse.lyric length] > 0) {
addverses += 1;
}
}
NSView *view = [[NSView alloc] initWithFrame:NSMakeRect(5, 10, ((addverses * (169+5))+5), 140)];
int x = 5;
NSSet *Verses = song.withVerses;
NSSortDescriptor *sortVerses = [[NSSortDescriptor alloc] initWithKey:@"number" ascending:YES];
NSArray *sortedVerses = [Verses sortedArrayUsingDescriptors:[NSArray arrayWithObject:sortVerses]];
for (VersesInSongs *verse in sortedVerses)
{
if ([verse.lyric length] > 0) {
verseBox *box = [[verseBox alloc] initWithFrame:NSMakeRect(x, 10, 169, 130)];
[box setSong:song];
[box setVerse:verse];
[view addSubview:box];
x = x + 169+5;
}
}
[scrollview setDocumentView:view];
[self addSubview:scrollview];
}
}
您是否设置了treeController,将其内容绑定到该键路径,并将该单元格中的绑定设置到树控制器?不,我没有。我将尝试研究树控制器是如何工作的。结论是没有办法将集合放入表视图单元格中吗?