嵌套的NSCollection视图

时间:2013-11-07 05:09:04

标签: macos nested nscollectionview

我正在尝试创建嵌套的集合视图。首先,我做了一个级别。

使用字符串header创建数据模型类。在app delegate中创建了一个数组sectionTitle。现在在笔尖中,我添加了集合视图&数组控制器并执行此guide之后的所有绑定。接下来在awakeFromNib我填充了一些随机数据

- (void)awakeFromNib {
    int idx = 0;
    NSMutableArray *sectionTitle = [[NSMutableArray alloc] init];
    while (idx < 1) {
        HeaderModel *header = [[HeaderModel alloc] init];
        [header setHeader:[NSString stringWithFormat:@"Section %d", idx]];
        [sectionTitle addObject:header];
        idx++;
    }
    [self setHeaderData:sectionTitle];
}

运行它会给我4个部分。我希望实现与this类似的布局。部分标题,下面是另一个项目集合。答案只给出了使用嵌套集合视图的提示。

所以我在第一个视图原型中添加了另一个集合视图。然后我按照与第一个视图相同的方法(使用不同的数据模型和数组)。

- (void)awakeFromNib {
    int idx = 0;
    NSMutableArray *sectionTitle = [[NSMutableArray alloc] init];
    NSMutableArray *groupData = [[NSMutableArray alloc] init];
    while (idx < 1) {
        HeaderModel *header = [[HeaderModel alloc] init];
        DataModel *name = [[DataModel alloc] init];
        [header setHeader:[NSString stringWithFormat:@"Section %d", idx]];
        [name setName:[NSString stringWithFormat:@"Name %d", idx]];
        [sectionTitle addObject:header];
        [groupData addObject:name];
        idx++;
    }
    [self setHeaderData:sectionTitle];
    [self setData:groupData]; //NSCollectionView item prototype must not be nil.
}

但现在我收到错误 NSCollectionView项目原型不能为零。 我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

我刚刚回答了类似的问题here

但不知何故,通过在I.B中插入第二个NSCollectionView,您的内部NSCollectionViewItem会获得一个损坏的原型。只需尝试将每个关联的NSView提取到自己的.xib