1

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

使用 String 创建了一个数据模型类header。在应用程序委托中创建了一个数组sectionTitle。现在在笔尖中,我添加了集合视图和数组控制器,并按照本指南进行了所有绑定。接下来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 个部分。我想实现与此类似的布局。部分标题,在它下面是另一个项目集合。那里给出的答案仅暗示使用嵌套集合视图。

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

- (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 项目原型一定不能为零。 我该如何解决这个问题?

4

1 回答 1

1

我刚刚在这里回答了一个类似的问题

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

于 2014-02-27T01:48:57.653 回答